| World!Of Numbers |
|||
|
[ February 18, 2022 ] This first Pari/gp program calculates the next higher palindrome
Nextpal(k)= marque=length(digits(k))%2; \
if(marque==0, \
n=digits(k); le=length(n); swl=n[1..le\2]; m=concat(swl,Vecrev(swl)); \
if(fromdigits(m)<=fromdigits(n), swl=digits(fromdigits(swl)+1); \
m=concat(swl,Vecrev(swl)); ); \
if(length(m)>le, m=concat(m[1..le],[0]); k=fromdigits(m); marque=1); \
); \
if(marque==1, \
n=digits(k); le=length(n); le2=le\2; m=concat(n[1..le2+1],Vecrev(n[1..le2])); \
if(fromdigits(m)<=fromdigits(n), swl=digits(fromdigits(m[1..le2+1])+1); \
m=concat(swl,Vecrev(swl[1..le2])); ); \
if(length(m)>le, m=concat(m[1..le],[1]); ); \
); \
m=fromdigits(m); return(m);
Get it to run by using some examples k=1; for(i=2, 2010, Nextpal(k); print(i," ",k); k=m; ); or k=1234567891011; Nextpal(k); print("Next palindrome greater than ",k," is ",m);Note that the very first palindrome namely '0' or zero isn't calculated If you are only interested in the palindromic primes k=2;cnt=0; for(i=1,2022, Nextpal(k); if(isprime(k), cnt+=1; print(cnt," ",k)); k=m; ); | |||
[
TOP OF PAGE]