【Project Euler】No6 : Sum square difference 解答例【Python】

【Project Euler】No6 : Sum square difference 解答例【Python】

はじめに

コジマです。

https://projecteuler.net/
の6問目を解いていきます。

問題

問題6

The sum of the squares of the first ten natural numbers is,$$1^2 + 2^2 + … + 10^2 = 385$$
The square of the sum of the first ten natural numbers is,$$(1 + 2 + … + 10)^2 = 55^2 = 3025$$
Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 − 385 = 2640.

Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.

和訳(意訳)
初めの10個の平方数の和は、

$$1^2 + 2^2 + … + 10^2 = 385$$

初めの10個の和の平方数は、

$$(1 + 2 + … + 10)^2 = 55^2 = 3025$$

ゆえに、初めの10個の平方数の和と初めの10個の和の平方数の差は、 3025 − 385 = 2640.

初めの100個の平方数の和と初めの100個の和の平方数の差を求めよ。

解答例

高校で習う和の公式そのまま使えば
ループとか噛ませる必要なさそうですね。

1からnまでの和\(S_{1n}\)は
$$S_{1n} = \frac{n(n + 1)}{2}$$
1からnまでの平方数の和\(S_{2n}\)は
$$S_{2n} = \frac{n(n+1)(2n+1)}{6}$$

\(n = 100\)として差を取ればいいですね。

さいごに

解答はgithubにも上げています。
https://github.com/kojimanotech/project_euler/blob/master/0006_Sum_square_difference.ipynb

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

以上、コジマでした。


Pythonカテゴリの最新記事