Viết chương trình pascal nhập 1 số n cụ thể từ bàn phím và in ra những số nguyên tố từ 1 đến n (Gợi ý: nhập số n từ bàn phím và dùng hàm ngto(...) )

2 câu trả lời

var n:int64;
function ngto(h:int64):boolean;
var d,i:integer;
begin
     d:=0;
     for i:=1 to h do
     begin
          if h mod i=0 then inc(d);
     end;
     if d=2 then ngto:=true
     else ngto:=false;
end;
var i:longint;
begin
        read(n);
        for i := 1 to n do
        begin
                if ngto(i) then write(i,' ');
        end;
end.

P/s: Gửi bạn, thuật toán dùng kĩ năng function thôi nha chứ không có hàm ngto đâu :?

Chúc bạn học tốt @danhle

program in_nguyen_to;

uses crt;

var n,i:integer;

{---Ham-nguyen-to---}

function ktnt(k:integer):boolean;

var e:integer;

begin

       ktnt:=false;

       if k<2 then exit;

       for e:=2 to trunc(sqrt(k)) do

              if k mod e=0 then exit;

       ktnt:=true;

end;

{---Chuong-trinh-chinh---}

BEGIN

       clrscr;

       write('Nhap n: ');  readln(n);

       for i:=1 to n do

              if ktnt(i) then write(i,' ');

       readln;

end.

Câu hỏi trong lớp Xem thêm