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