Số siêu nguyên tố là số:
Bản thân nó là số nguyên tố.
Khi xóa đi lần lượt các chữ số sau cùng của nó, thì số mới vẫn là số nguyên tố.
Ví dụ 2393 là số siêu nguyên tố vì 2393, 239, 23, 2 là số nguyên tố.
Cho một số n, hãy đưa số dãy số siêu nguyên tố nhỏ hơn hoặc bằng n, các số đã được sắp xếp tăng dần.
Với n = 30 thì superPrimeNumber(n) = [2, 3, 5, 7, 23, 29];
Vì các số 2, 3, 5, 7, 23 và 29 đều là số siêu nguyên tố và nhỏ hơn hoặc bằng 30.
program sieunt;
uses crt;
var n,i:longint;
function ktnt(m:longint):boolean;
var l:longint;
begin
ktnt:=false;
if m<2 then exit;
for l:=2 to trunc(sqrt(m)) do
if m mod l=0 then exit;
ktnt:=true;
end;
function ktsnt(longint):boolean;
begin
ktsnt:=false;
while k<>0 do
begin
if ktnt(k)=false then exit;
k:=k div 10;
end;
ktsnt:=true;
end;
BEGIN
clrscr;
write(‘Nhap n: ‘);
readln(n);
for i:=1 to n do
if ktsnt(i) then write(i,’ ‘);
readln
end.
Nếu đúng cho xin ctlhn nhé bạn
uses crt;
var n,i:longint;
function nt(a:qword):boolean;
var i:longint;
begin
i:=2;
while (a>1)and(a mod i<>0) do inc(i);
nt:=i=a;
end;
function snt(a:qword):boolean;
begin
if a<20 then exit(false);
while nt(a) do begin a:=a div 10; end;
snt:=a=0;
end;
begin
clrscr;
write(‘n = ‘);readln(n);
for i:=1 to n do if snt(i) then write(i,’ ‘);
readln
end.