プロジェクトオイラー6.

この記事の所要時間: 212

No.6 Sum square difference

問題.

Q. 1から10までの平方の和は,

\begin{equation*} 1^2+2^2+\cdots+10^2 = 385 \end{equation*}

1から10までの和の平方は,

\begin{equation*} (1+2+\cdots+10)^2 = 55^2 = 3025 \end{equation*}

で, その差は 3025-385=2640 になります.

では, 1から100までの平方の和と和の平方の差はいくつになるか.

考え方とプログラム例(Python)

この問題は単純に計算すれば良さそうです.

LIST と map を利用して計算しました.

ちなみに, 1からnまでの和と, 平方の和は,

\begin{eqnarray*} 1+2+\cdots+n &=& \dfrac{1}{2}n(n+1)\\ 1^2+2^2+\cdots+n^2 &=& \dfrac{1}{6}n(n+1)(2n+1) \end{eqnarray*}

なので, 1からnまでの和の平方と平方の和の差は,

\begin{eqnarray*} (1+2+\cdots+n)^2 - (1^2+2^2+\cdots+n^2) &=& \left\{\dfrac{1}{2}n(n+1)\right\}^2 - \dfrac{1}{6}n(n+1)(2n+1)\\ &=& \dfrac{1}{4}n^2(n+1)^2-\dfrac{1}{6}n(n+1)(2n+1)\\ &=& \dfrac{1}{12}n(n+1)\{3n(n+1)-2(2n+1)\}\\ &=& \dfrac{1}{12}n(n+1)(n-1)(3n+2) \end{eqnarray*}

となるので, この式のnに100を代入すれば答えになります.

今回は頑張れば手計算でもできそうな簡単な問題でした.

答えはこの下の行にあります. 反転してください.

A. 25164150

スポンサーリンク
sub2
sub2
  • このエントリーをはてなブックマークに追加