program so_sieu_nguyen_to;
uses crt;
var k,n:longint; dem:integer;
procedure nhap;
begin
clrscr;
repeat
write('nhap n: ');readln(n);
until (n>=1)and(n<=8);
k:=0;dem:=0;
end;
function ktnt(k:longint):boolean;
var i:longint;
begin
ktnt:=true;
if k<=1 then begin ktnt:=false; exit; end;
if (k mod 2=0)and(k>2) then begin ktnt:=false; exit; end;
i:=3;
while i<=trunc(sqrt(k)) do
begin
if k mod i=0 then begin ktnt:=false; exit; end;
i:=i+2;
end;
end;
procedure try(j:integer);
var l:integer;
begin
for l:=1 to 9 do
begin
k:=k*10+l;
if ktnt(k) then
if j=n then begin inc(dem); writeln('so thu ',dem,': ',k);end
else try(j+1);
k:=k div 10;
end;
end;
begin
nhap;
try(1);
writeln('Co ',dem,' so sieu nguyen to co ',n,' chu so.');
readln;
end
CÁC BẠN KO HIỂU CHỖ NÀO,HAY TIM ĐƯỢC CÁCH KHÁC HOẶC PHÁT HIỆN LỖI NÀO SAI PM MÌNH WA NICK YAHOO:
flydragon_29395@yahoo.com.vn