プロジェクトオイラー
http://projecteuler.net/index.php
Q120.
(a-1)n + (a+1)nのa2の剰余のnを振ったときの最大値をrmaxとすると、3 ≤ a ≤ 1000での∑rmax
nが偶数・奇数で分けると、
(a-1)n + (a+1)n ≡ 2 (mod a2) (n : even)
(a-1)n + (a+1)n ≡ 2na (mod a2) (n : odd)
nは奇数のみ考えればよい。
aが奇数のとき、rmax = (a-1)a、偶数のとき、rmax = (a-2)aとなる。さらに計算を進めると、電卓レベルになる。
N = 1000
n = (N - 1) / 2
m = N / 2
print n * (n + 1) * (4 * n + 5) / 3 + 4 * m * (m * m - 1) / 3