Cho 2 số nguyên a và b được nhập từ phím đếm xem có bao nhiêu số nguyên tố nằm trong đoạn a và b?
0 bình luận về “Cho 2 số nguyên a và b được nhập từ phím đếm xem có bao nhiêu số nguyên tố nằm trong đoạn a và b?”
uses crt; var a,b,i,d:longint; function nt(a:longint):boolean; var i:longint; begin i:=2; while(a>1)and(a mod i<>0)do inc(i); nt:=i=a; end; begin clrscr; write(‘Nhap a,b: ‘);readln(a,b); for i:=a to b do if nt(i) then inc(D); writeln(‘Co ‘,d,’ so nguyen to’); readln end.
+ (sử dụng vòng lặp) n>1 và n chia lấy phần dư cho i khác 0 thì tăng i lên 1 đơn vị
+ nếu i=n thì isPrimeNumber trả về true ngược lại isPrimeNumber trả về false
– phần chương trình chính:
+ nhập a,b
+ cho i chạy từ a đến b, nếu trên vòng lặp, isPrimeNumber(i) có nghĩa là từng i là số nguyên tố thì tăng d lên 1 đơn vị
+ xuất kết quả ra màn hình
Chương trình:
uses crt; var a,b,i,d:longint; function isPrimeNumber(n:longint):boolean; var i:longint; begin i:=2; while(n>1) and (n mod i<>0)do inc(i); isPrimeNumber:=i=n; end; begin clrscr; readln(a,b); for i:=a to b do if isPrimeNumber(i) then inc(d); writeln(d); readln end.
uses crt;
var a,b,i,d:longint;
function nt(a:longint):boolean;
var i:longint;
begin
i:=2;
while(a>1)and(a mod i<>0)do inc(i);
nt:=i=a;
end;
begin
clrscr;
write(‘Nhap a,b: ‘);readln(a,b);
for i:=a to b do
if nt(i) then inc(D);
writeln(‘Co ‘,d,’ so nguyen to’);
readln
end.
Thuật toán:
– phần chương trình con:
+ tạo hàm isPrimeNumber
+ cho i=2
+ (sử dụng vòng lặp) n>1 và n chia lấy phần dư cho i khác 0 thì tăng i lên 1 đơn vị
+ nếu i=n thì isPrimeNumber trả về true ngược lại isPrimeNumber trả về false
– phần chương trình chính:
+ nhập a,b
+ cho i chạy từ a đến b, nếu trên vòng lặp, isPrimeNumber(i) có nghĩa là từng i là số nguyên tố thì tăng d lên 1 đơn vị
+ xuất kết quả ra màn hình
Chương trình:
uses crt;
var a,b,i,d:longint;
function isPrimeNumber(n:longint):boolean;
var i:longint;
begin
i:=2;
while(n>1) and (n mod i<>0)do inc(i);
isPrimeNumber:=i=n;
end;
begin
clrscr;
readln(a,b);
for i:=a to b do
if isPrimeNumber(i) then inc(d);
writeln(d);
readln
end.