跳到主要内容

Project Euler

001--050

Problem 14

记忆化。

050--100

Problem 100

设蓝色盘子有 nn 个,红色盘子有 mm 个,可以得到方程

n2(2m+1)n(m2m)=0n^2-(2m+1)n-(m^2-m)=0

利用一元二次方程求根公式,以及 nnmm 均为正整数的条件,可以得到

8m2+1=a28m^2+1=a^2

a=2k+1a=2k+1,可得

m2=k(k+1)2m^2=\frac{k(k+1)}{2}

也就是说,我们需要恰好为完全平方数的三角数。不妨枚举打印出前几项,然后可以查到OEIS A001108。这个数列增长很快,所以我们找到其中能够使得 2m+k+1>10122m+k+1>10^{12} 的第一项即可。