Một số nguyên n được gọi là số nguyên tố đối xứng khi thỏa mãn hai tính chất sau:
– Số n là số nguyên tố
– Số n là số đối xứng (số đối xứng là số khi ta đọc từ trái qua phải và từ phải qua trái là
như nhau, ví dụ các số 727, 11411, 131 là các số đối xứng.)
Yêu cầu : Viết chương trình nhập vào 2 số nguyên dương a, b (0<a<b<65000)
a) Liệt kê ra màn hình (nếu có) các số nguyên tố đối xứng n (với a<=n<=b), các số cách
nhau một khoảng trắng.
b) Thông báo có bao nhiêu số nguyên tố đối xứng đã liệt kê ở câu a.
program nguyentodoixung;
uses crt;
var a,b,i,d:integer;
function ktnt(k:integer):boolean;
var l:integer;
begin
ktnt:=false;
if k<2 then exit;
for l:=2 to trunc(sqrt(k)) do
if k mod l=0 then exit;
ktnt:=true;
end;
function ktdx(k:integer):boolean;
var h,m:integer;
begin
h:=0; m:=k;
while m>0 do
begin
h:=h*10+m mod 10;
m:=m div 10;
end;
if h=k then ktdx:=true else ktdx:=false;
end;
BEGIN
clrscr;
write(‘Nhap a: ‘); readln(a);
write(‘Nhap b: ‘); readln(b);
d:=0;
for i:=a to b do
if ktnt(i) and ktdx(i) then
begin
write(i,’ ‘);
d:=d+1;
end;
if d=0 then write(‘Khong co so nguyen to doi xung nao’)
else write(‘=> Co ‘,d,’ so nguyen to doi xung tu ‘,a,’ den ‘,b);
readln
end.
uses crt;
var a,b,i,d:longint;
function nt(a:longint):boolean;
var i:longint;
begin
i:=2;
while (a>1)and(a mod i<>0) do inc(i);
nt:=i=a;
end;
function dx(a:longint):boolean;
var i:longint; s:string;
begin
str(a,s);
for i:=1 to length(s) do if s[i]<>s[length(s)-i+1]then exit(false);
exit(true);
end;
begin
clrscr;
write(‘a,b=’);readln(a,b);
writeln(‘a) ‘);
for i:=a to b do if (nt(i))and(dx(i)) then begin write(i,’ ‘); inc(d); end;
if d=0 then write(‘Khong co’) else begin writeln; writeln(‘b) ‘,d); end;
readln
end.