您的位置:首页 > 其它

1.5.2 Prime Palindromes

2013-08-22 11:50 281 查看

Prime Palindromes

The number 151 is a prime palindrome because it is both a prime number and a palindrome (it is the same number when read forward as backward). Write a program that finds all prime palindromes in the range of two supplied numbers a and b (5 <= a < b <= 100,000,000); both a and b are considered to be within the range .

PROGRAM NAME: pprime

INPUT FORMAT

Line 1:Two integers, a and b

SAMPLE INPUT (file pprime.in)

5 500

OUTPUT FORMAT

The list of palindromic primes in numerical order, one per line.

SAMPLE OUTPUT (file pprime.out)

5
7
11
101
131
151
181
191
313
353
373
383

HINTS (use them carefully!)

{
ID: makeeca1
PROG: pprime
LANG: PASCAL
}
program pprime;
const b:array[1..9]of longint=(10,0,100,0,1000,0,10000,0,100000);
var i,j,k,n,l,r:longint;
s:string;
function check(x:longint):boolean;
var i:longint;
begin
if x=1 then exit(true);
for i:=2 to trunc(sqrt(x))do
if x mod i =0 then exit(false);
exit(true);
end;
begin
assign(input,'pprime.in');reset(input);
assign(output,'pprime.out');rewrite(output);
readln(l,r);
n:=1;
for i:=1 to 9 do
if i and 1 =1 then
while n<b[i]do
begin
str(n,s);
j:=length(s)-1;
while j>=1 do
begin
s:=s+s[j];
dec(j);
end;
val(s,k);
if (k>=l)and(k<=r)and(check(k))then writeln(k);
inc(n);
end else if (i=2)and(l<=11)and(r>=11)then writeln(11);
close(input);
close(output);
end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: