Файл содержит целые числа. Найти и вывести в другой файл все простые палиндромы — Pascal(Паскаль)

uses crt;
 
var     fin, fout : text;
        a : longint;
 
function isPrime(a : longint): boolean;
var     i : integer;
        f : boolean;
begin
        f := true;
        for i := 2 to round(sqrt(a)) do if a mod i = 0 then begin
                 f := false;
                 break;
        end;
        isPrime := f;
end;
 
function isPalindrom(a : longint): boolean;
var     m : array [1..20] of byte;
        f : boolean;
        i, c : integer;
begin
        f := true;
        c := 0;
        while a <> 0 do begin
                c := c + 1;
                m[c] := a mod 10;
                a := a div 10;
        end;
        for i := 1 to c div 2 do if m[i] <> m[c - i + 1] then
        begin
                f := false;
                break;
        end;
        isPalindrom := f;
end;
 
begin
        assign(fin, 'input.txt');
        assign(fout, 'output.txt');
        reset(fin);
        rewrite(fout);
        while not eof(fin) do begin
                readln(fin, a);
                if isPrime(a) and isPalindrom(a) then writeln(fout, a);
        end;
        close(fin);
        close(fout);
        readln;
end.

Leave a Comment

46 − 39 =