(PARI)rev(n)={r=“”;dig=数字(n);对于(i=1,#dig,r=concat(Str(dig[i]),r));返回(eval(r))}
对于(n=1,10^8,如果(rev(n)==n&&(!isprime(n)),d=除数(n);ss=触头(j=1,#d,d[j]);如果(ss==rev(ss),打印1(n,“,”))
(PARI)/*david(n)从返回第n个回文大卫·A·科内斯,2014年6月6日*/
david(n)={my(d,i,r);r=向量(#位数(n-10^(#位数,n\11))+#位数(n\11)
rev(n)={r=“”;dig=数字(n);对于(i=1,#dig,r=concat(Str(dig[i],r));返回(eval(r))}
对于(n=2,10^6,pal=david(n));如果(!isprime(pal),d=除数;ss=触头(j=1,#d,d[j]);如果(ss==rev(ss),打印1(pal,“,”))
(Python)
导入交响乐
从sympy导入isprime
从sympy导入除数
定义版本(n):
..r=“”
..对于str(n)中的i:
….r=i+r
..返回int(r)
定义a():
..对于范围(1,10**8)中的n:
….如果rev(n)==n而非isprime(n):
……p=1
……对于除数(n)中的i:
……..p*=i
……如果转速(p)==p:
……..打印(n,end=',')
a()
(Python)
从sympy导入divisor_count,sqrt
def-palgen(l,b=10):#长度<=2*l的基b中回文的生成器
如果l>0:
产量0
对于范围(1,l+1)中的x:
n=b**(x-1)
n2=n*b
对于范围(n,n2)中的y:
k、 m=年/月,0
当k>=b时:
k、 r=divmod(k,b)
m=b*m+r
产量y*n+b*m+k
对于范围(n,n2)中的y:
k、 m=y,0
当k>=b时:
k、 r=divmod(k,b)
m=b*m+r
产量y*n2+b*m+k
对于palgen(6)中的n:
d=除数(n)
如果d>2:
q、 r=divmod(d,2)
s=str(n**q*(如果r为1,则为sqrt(n))
如果s==s[::-1]: