Find prime n such that reversed n is also prime: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add MAD) |
Not a robot (talk | contribs) (Add PL/I) |
||
Line 1,007: | Line 1,007: | ||
383 |
383 |
||
389</pre> |
389</pre> |
||
=={{header|PL/I}}== |
|||
<lang pli>reversePrimes: procedure options(main); |
|||
declare prime(1:999) bit; |
|||
sieve: procedure; |
|||
declare (i,j,hi) fixed; |
|||
hi = hbound(prime,1); |
|||
prime(1) = '0'b; |
|||
do i=2 to hi; prime(i) = '1'b; end; |
|||
do i=2 to sqrt(hi); |
|||
do j=i*i to hi by i; prime(j) = '0'b; end; |
|||
end; |
|||
end sieve; |
|||
reverse: procedure(nn) returns(fixed); |
|||
declare (n, nn, r) fixed; |
|||
r=0; |
|||
do n=nn repeat(n/10) while (n>0); |
|||
r = 10*r + mod(n,10); |
|||
end; |
|||
return(r); |
|||
end reverse; |
|||
declare (n, found) fixed; |
|||
call sieve; |
|||
found = 0; |
|||
do n=1 to 499; |
|||
if prime(n) & prime(reverse(n)) then do; |
|||
put edit(n) (F(4)); |
|||
found = found + 1; |
|||
if mod(found,20) = 0 then put skip; |
|||
end; |
|||
end; |
|||
put skip list('Reverse primes found:',found); |
|||
end reversePrimes;</lang> |
|||
{{out}} |
|||
<pre> 2 3 5 7 11 13 17 31 37 71 73 79 97 101 107 113 131 149 151 157 |
|||
167 179 181 191 199 311 313 337 347 353 359 373 383 389 |
|||
Reverse primes found: 34</pre> |
|||
=={{header|Quackery}}== |
=={{header|Quackery}}== |