Viết chương trình kiểm tra số siêu nguyên tố trong pascal và xuất ra kết quả. VD: 23333 là số siêu nguyên tố
2 câu trả lời
uses crt;
var kt,i,t:longint;n:int64;
function NT(a:longint):boolean;
var dem,i:longint;
begin
dem:=0;
for i:=1 to a do if(a mod i=0)then inc(dem);
NT:=dem=2;
end;
begin
clrscr;
write('nhap n:');readln(n);
while(n<>0)and(kt=1)do
begin
t:=n mod 10;
if(not(NT(t)))then kt:=0;
n:=n div 10;
end;
if(kt=1)then write('n la so sieu nguyen to')else write('n khong la so sieu nguyen to');
readln
end.
uses crt;
const lim = trunc(1e6);
var n: longint;
p: array[0..lim] of boolean;
procedure sieve(n: longint);
var i, j: longint;
begin
for i:=2 to trunc(sqrt(n)) do
if not p[i] then
for j:=i to n div i do p[j * i]:=true;
end;
function check(n: longint): boolean;
var bool: boolean;
begin
if p[n] then exit(false);
while n <> 0 do
begin
if p[n] = false then
begin
bool:=true;
n:=n div 10;
end else exit(false);
end;
exit(bool);
end;
begin
clrscr;
readln(n);
sieve(lim);
writeln(check(n));
readln;
end.