Em hãy viết chương trình để xác đinh xem 1 số có phải là số nguyên tố đối xứng hay không.Một số nguyên được gọi là đối xứng nếu nó bằng với số ngược của n ( vd:1221,121 la so dx, 1271 ko p so dx INPUT OUTPUT 101 True 121 False 151 True

2 câu trả lời

var f,g:text;

i,n:int64;

const

fi='input.inp';

fo='output.out';

function nt(n:inter64):boolean;

var i1,d:interger;

begin

d:=0; 

nt:=false;

for i1:=1 to n do 

if n mod i=0 then d:=d+1;

if d=2 then nt=true

end;

function dx(n:inter64):boolean;

var s2,s1:string; j:integer;

begin

s2:='';

str(n,s2);

s1:='';

for j:=length(s2) downto 1 do 

s1:=s1+s2[j];

if s1=s2 then dx:=true

else dx:=false;

end;

begin 

assign(f,fi); reset(f);

assign(g,fo); rewrite(G);

read(f,n);

if nt(n)=true then

begin 

if dx(n)=true then write(g, 'true')

else write(g,'false);

end

else write(g,'false');

cllose(f);

close(g);

end.

Const Fi='NTDX.INP';
      Fo='NTDX.OUT';
Var f,g: text;
    n: longint;

Function ngto(a: longint): boolean;
Var i: longint;
Begin
        If a<2 then exit(false);
        For i:=2 to a div 2 do
                If a mod 2 = 0 then exit(false);
        Exit(true);
End;

Function dx(a: longint): boolean;
Var b,s: longint;
Begin
        b:=a; s:=0;
        While a<>0 do
        Begin
                s:=s*10+a mod 10;
                a:=a div 10;
        End;
        If a=s then exit(true);
        exit(false);
End;

Begin
        Assign(f,Fi); Reset(f);
        Assign(g,Fo); Rewrite(g);
        Read(f,n);
        If (ngto(n)) and (dx(n)) then Write(g,'Ngto doi xung')
        Else Write(g,'Khong phai ngto doi xung');
        Close(f);
        Close(g);
End