https://projecteuler.net/problem=135
(难度:45%)
正整数 x, y, z 是等差数列,对正整数 n,
x^2 - y^2 - z^2 = n
当 n = 27 时恰有两组解,当 n = 1155 时恰有十组解
问有多少 n < 1000000 恰有十组解
防雷:
今天突然变简单 因为是等差,令
x = a + b, y = a, z = a - b
所以有
x^2 - y^2 - z^2
= (a+b)^2 - a^2 - (a-b)^2
= 4ab - a^2
= n < 1000000
因为 n = 4ab - a^2 = a(4b - a) < N
又都是正整数,所以只需要考虑 a < N
直接用两个循环爆搜 a, b 把相应的 n 数量加一
最后看有多少 n 恰有十组解就好