0125 回文和
* * * *
拉格朗日计划
* * * *
回文和

回文数595可以写成连续平方数的和:$595=6^2+7^2+8^2+9^2+10^2+11^2+12^2$。

小于一千的回文数中恰有十一个可以写成至少两个连续平方数的和,这些回文数的和是4164。

找出小于$10^8$的数中可以写成至少两个连续平方数的和的回文数,并求这些回文数的和。

本题难度:



解答

生成所有连续平方数的和,再一一检查其是否回文即可,去重后可得结果是$2906969179$。

s=[n*(n+1)*(2*n+1)/6 for n in range(7072)]

print sum(set(k for i in range(7070) for j in range(i+2,7072) for k in [s[j]-s[i]] if k < 100000000 and k==int(str(k)[::-1])))