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.