Truncatable primes: Difference between revisions
Content deleted Content added
added Fortran |
Pari/GP |
||
Line 369: | Line 369: | ||
print( "max_prime_left = ", max_prime_left ) |
print( "max_prime_left = ", max_prime_left ) |
||
print( "max_prime_right = ", max_prime_right )</lang> |
print( "max_prime_right = ", max_prime_right )</lang> |
||
=={{header|PARI/GP}}== |
|||
This version builds the truncatable primes with up to k digits in a straightforward fashion. Run time is about 15 milliseconds, almost all of which is I/O. |
|||
<lang>left(n)={ |
|||
my(v=[2,3,5,7],u,t=1); |
|||
for(i=1,n, |
|||
t*=10; |
|||
u=[]; |
|||
for(j=1,#v, |
|||
print1(v[j]","); |
|||
forstep(a=t,t*9,t, |
|||
if(isprime(a+v[j]),u=concat(u,a+v[j])) |
|||
) |
|||
); |
|||
v=u |
|||
) |
|||
}; |
|||
right(n)={ |
|||
my(v=[2,3,5,7],u); |
|||
for(i=1,n, |
|||
u=[]; |
|||
for(j=1,#v, |
|||
print1(v[j]","); |
|||
forstep(a=1,9,[2,4], |
|||
if(isprime(10*v[j]+a),u=concat(u,10*v[j]+a)) |
|||
) |
|||
); |
|||
v=u |
|||
) |
|||
}; |
|||
left(6);right(6)</lang> |
|||
=={{header|Perl 6}}== |
=={{header|Perl 6}}== |