Viết ct nhập một số nguyên M từ bàn phím với 2 <M<2018 a) In ra màn hình số nguyên tố thứ M Vd: dữ liệu vào: M= 5 kết quả ra: số nguyên tố ở vị trí thứ 5 là 11 Pascal thôi nhé
2 câu trả lời
uses crt;
var i,m,dem:longint;
function ktnt(a:longint):boolean;
var i:longint;
begin
i:=2;
while a mod i<>0 do inc(i);
ktnt:=i=a;
end;
begin
clrscr;
repeat write('M=');readln(m); until(2<m)and(m<2018);
i:=1;
repeat
inc(i);
if ktnt(i) then inc(dem);
until dem=m;
writeln(i);
readln
end.
///////////////////////////////////////////
Giải thích:
Nhập:nhập cho đến khi thỏa mãn điều kiện với repeat until
Tăng i lên nếu i là số nguyên tố thì tăng đếm lên, cứ là việc này cho đến khi dem =m tức là i là số nguyên tố thứ m.
Sau đó xuất i!
Nếu có gì không hiểu hay code mình sai thì để lại bình luận nhé!
Một số text cho bạn tham khảo:
program oken;
uses crt;
var i,j,m,d1,d2: integer;
begin
clrscr;
repeat
write('Nhap M: '); readln(m);
until (m>=2) and (m<=2018);
d1:=0;
for i:=2 to 2018 do
begin
d2:=0;
for j:=1 to (i div 2) do
if (i mod j=0) then
d2:=d2+1;
if (d2=1) then
d1:=d1+1;
if (d1=m) then
begin
write('So nguyen to o vi tri thu ',m,': ',i);
break;
end;
end;
readln;
end.