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.

Câu hỏi trong lớp Xem thêm