PEをMathematicaで

Project Eulerに挑戦してみよう

Project Euler 28 / 対角線上の数の和

1からはじめて右方向に進んで時計まわりに数を増やしていくと,5×5 のらせんができる。

2122232425
2078910
1961211
1854312
1716151413

両対角線上の数字の合計は101である。

1001×1001のらせんを同じ方法で作ると,両対角線上の数字の和はいくつになるか?

Problem 28 - Project Euler

この手の問題は中学受験塾で働いていた頃に何度もやりました。対角線上の平方数に注目します。

右上には (2k+1)^2 型の平方数があり,左上は 2k 引いた数。左下は 4k 引いた数,右下は 6k 引いた数。合計は次のようになります。

 4\cdot (2k+1)^2-2k-4k-6k=16 k^2+4 k+4

これの和を求めればOK。