Tại Vương quốc Byte xinh đẹp, mỗi người luôn chọn cho mình một con số, theo họ số nguyên tố là số mang lại sự may mắn và ai tìm được một số siêu nguyên tố còn may mắn hơn nữa. Số siêu nguyên tố là một số nguyên tố mà khi bỏ 1 số tùy ý các chữ số bên phải của nó thì phần còn lại vẫn là 1 số nguyên tố. Số 2333 là 1 số siêu nguyên tố vì 2333 là một số nguyên tố và 233, 23, 2 cũng là các số nguyên tố. Dữ liệu vào: SNT.INP Chứa một số nguyên dương n (n ≤ 109) Dữ liệu ra: SNT.OUT Nếu N là siêu nguyên tố ghi giá trị 1, ngược lại ghi giá trị 0 File inp: 2333;13 File out: 1;0 Em cần gấp ạ!
2 câu trả lời
const fi='SNT.INP';
fo='SNT.OUT';
var n:qword;
function isPrimeNumber(n:qword):byte;
var i:longint;
begin
if n<2 then exit(0);
for i:=2 to trunc(sqrt(n))do
if n mod i=0 then exit(0);
exit(1);
end;
function isSuperPrimeNumber(n:qword):byte;
begin
while n<>0 do
begin
if isPrimeNumber(n)=0 then exit(0);
n:=n div 10;
end;
exit(1);
end;
begin
assign(input,fi);reset(input);
assign(output,fo);rewrite(output);
readln(n);
write(isSuperPrimeNumber(n));
close(output);
close(input);
end.
const fi='snt.inp';
fo='snt.out';
var n:qword;
f1,f2:text;
procedure snt(n:longword);
var i:longword;
begin
while n<>0 do
begin
if n<2 then
begin
writeln(f2,'0');
exit;
end;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then
begin
writeln(f2,'0');
exit;
end;
n:=n div 10;
end;
writeln(f2,'1');
end;
begin
assign(f1,fi);reset(f1);
assign(f2,fo);rewrite(f2);
readln(f1,n);
snt(n);
close(f1);close(f2);
end.