kiểm tra n có phải là số nguyên tố hay không xuất ra màn hình cac số nguyên tố từ 2 đến n và tính tổng của chúng ?kiểm tra n có phải là số hoàn hảo không? xuất ra màn hình các số hoàn hảo chia hết cho cả 3 và 5? pascal ạ mn giúp với

2 câu trả lời

uses crt;
var n,i,s:longint;
function nt(a:longint):boolean;
var i:longint;
begin
   i:=2; nt:=true;
   while(a>1)and(a mod i<>0)do inc(i);
   if i<>a then nt:=false;
end;
function hh(a:longint):boolean;
var i,s:longint;
begin
   hh:=true; s:=0;
   for i:=1 to a div 2 do 
      if a mod i=0 then inc(s,i);
      if s<>a then hh:=false;
end;
begin
clrscr;
   write('Nhap n: '); readln(n);
   write('So nguyen to: ');
   for i:=1 to n do
      if nt(i) then 
         begin
            write(i,' ');
            inc(s,i);
         end;
      writeln;
      if hh(i) then writeln(n,' la so hoan hao')
      else writeln(n,' khong phai la so hoan hao');
      if(hh(i))and(i mod 3=0)and(i mod 5=0) then write(i,' ')
      else writeln('Khong co so hoan hao thoa man');
readln
end.

Program SO_NGUYEN_TO;
Uses crt;
Var i,n: integer; 
Begin
Clrscr;
Writeln('KIEM TRA SO NGUYEN TO:');
Writeln('---------------------------------------');
Write ('Nhap so can kiem tra n = '; readln(n);
If (n=0) or (n=1) then
Writeln('Khong phai la so nguyen to')
Else
Begin
i:=1;
Repeat
                i:= i+1;
Until (n mod i= 0) or (i*i>n);
If i*i>n then Writeln (n,' la so nguyen to'):
Else Writeln (n;,'khong phai la so nguyen to');

end;
Readln;

end.

Program CAC_SO_NGUYEN_TO;
Uses crt;
Var n,i,t,s: integer;
Begin
Clrscr;
Writeln('IN RA CAC SO NGUYEN SO ');
Writeln('---------------------------------------------');
Write('Nhap n = ');readln(n);
If n<2 then
Writeln('Khong co so nguyen to nao ',n)
Else
Begin

writeln('cac so nguyen to',n);

for i:=2 to n do
Begin
t:= 1;
Repeat
t:= t+1;
Until ( i mod t = 0) or ( t*t>i ) ;
If( t*t>i) then
Write(i:4);

end;

End;

s:=0;

for i:=2 to n do

s:=s+i;

wreln( tong cua chung',s);

Readln;
End.