Project Euler 125
Project Euler 125
题目
Palindromic sums
The palindromic number $595$ is interesting because it can be written as the sum of consecutive squares: $6^2 + 7^2 + 8^2 + 9^2 + 10^2 + 11^2 + 12^2$.
There are exactly eleven palindromes below one-thousand that can be written as consecutive square sums, and the sum of these palindromes is $4164$. Note that $1 = 0^2 + 1^2$ has not been included as this problem is concerned with the squares of positive integers.
Find the sum of all the numbers less than $10^8$ that are both palindromic and can be written as the sum of consecutive squares.
解决方案
先找出所有小于$N$的平方数,然后再找出一段段小于$N$的连续平方数之和。
由于每次枚举右端点时,连续平方数之和的是以立方级别增长。因此枚举一次左端点时,很快就结束了。
最终则把所有的回文连续平方数和插入集合中记录。
代码
1 | from tools import int_sqrt |