Số siêu nguyên tố là số nguyên tố mà khi bỏ một số tuỳ ý các chữ số bên phải của nó thì phần còn lại vẫn tạo thành một số nguyên tố. Ví dụ 7331 là một số siêu nguyên tố có 4 chữ số vì 733, 73, 7 cũng là các số nguyên tố. Nhiệm vụ của bạn là viết chương trình nhập dữ liệu vào là một số nguyên N (0< N <10) và đưa ra kết quả là một số siêu nguyên tố có N chữ số cùng số lượng của chúng. --- Yêu cầu: - Dùng file: SIEUNGTO - Dùng chương trình con
2 câu trả lời
const fi='sieungto.inp';
fo='sieungto.out';
var n:byte;
a:longint;
function lt(n:byte): longint;
var kq,i:longint;
begin
kq:=1;
for i:=1 to n do kq:=kq*10;
exit(kq);
end;
function checkprime(x:longint):boolean;
var i:longint;
begin
if x<2 then exit(false) else
for i:=2 to trunc(sqrt(x)) do if x mod i = 0 then exit(false);
exit(true);
end;
function supper(y:longint):boolean;
begin
if y=0 then supper:=true else
supper:=checkprime(y) and supper(y div 10);
end;
begin
assign(input,fi);
reset(input);
read(n);
close(input);
a:=lt(n);
repeat
inc(a);
until supper(a);
assign(output,fo);
rewrite(output);
write(a);
close(output);
end.
uses crt;
var i,n,m:longint; d:text;
function nt(a:longint):boolean;
var i:longint;
begin
i:=2; while(a>2)and(a mod i<>0)do inc(i); nt:=i=a;
end;
function snt(a:longint):boolean;
var i:longint;
begin
While(NT(A))Do A:=A Div 10;
If(A<>0)Then exit(false); exit(true);
end;
begin
clrscr;
assign(d,'sieungto.inp');reset(d);
readln(d,n);
If (N<1)or(n>9) then writeln('Hay nhap lai') else
begin
m:=1;
for i:=1 to n-1 do m:=m*10;
i:=m;
repeat
inc(i);
until (snt(i))and(i>=m);
writeln(i);
end;
close(d);
readln
end.