home
>
Project Euler
>
ForNext
Shut the fuck up and write some code
Problem 6
二乗和の差
最初の10個の自然数について, その二乗の和は,
最初の10個の自然数について, その和の二乗は,
これらの数の差は となる.
同様にして, 最初の100個の自然数について二乗の和と和の二乗の差を求めよ.
Sum square difference
The sum of the squares of the first ten natural numbers is,
.
The square of the sum of the first ten natural numbers is,
.
Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is .
Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.
参考:数列の和の公式
VBScript
JScript
Perl
PHP
Python
Ruby
PowerShell
Scala
更新日 : 2013.01.20
単純な加算
scala> var i = (1 to 10).sum i: Int = 55 scala> i = i * i i: Int = 3025 scala> var j = (1 to 10).map(n => n * n).sum j: Int = 385 scala> i - j res0: Int = 2640 scala> i = (1 to 100).sum i: Int = 5050 scala> i = i * i i: Int = 25502500 scala> j = (1 to 100).map(n => n * n).sum j: Int = 338350 scala> i - j res1: Int = 25164150
数列の和の公式
scala> i = 10 * (10 + 1) / 2 i: Int = 55 scala> i = i * i i: Int = 3025 scala> j = 10 * (10 + 1) * (2 * 10 + 1) / 6 j: Int = 385 scala> i - j res2: Int = 2640 scala> i = 100 * (100 + 1) / 2 i: Int = 5050 scala> i = i * i i: Int = 25502500 scala> j = 100 * (100 + 1) * (2 * 100 + 1) / 6 j: Int = 338350 scala> i - j res3: Int = 25164150 scala>
F#
更新日 : 2013.01.20
単純な加算
> let i = - [1..10] - |> List.map(fun x -> x * x) - |> List.sum - ;; val i : int = 385 > let j = - [1..10] - |> List.sum - ;; val j : int = 55 > let j = j * j - ;; val j : int = 3025 > j - i - ;; val it : int = 2640 > let i = - [1..100] - |> List.map(fun x -> x * x) - |> List.sum - ;; val i : int = 338350 > let j = - [1..100] - |> List.sum - ;; val j : int = 5050 > let j = j * j - ;; val j : int = 25502500 > j - i - ;; val it : int = 25164150 >
数列の和の公式
> let i = 10 * (10 + 1) / 2 - ;; val i : int = 55 > let i = i * i - ;; val i : int = 3025 > let j = 10 * (10 + 1) * (2 * 10 + 1) / 6 - ;; val j : int = 385 > i - j - ;; val it : int = 2640 > let i = 100 * (100 + 1) / 2 - ;; val i : int = 5050 > let i = i * i - ;; val i : int = 25502500 > let j = 100 * (100 + 1) * (2 * 100 + 1) / 6 - ;; val j : int = 338350 > i - j - ;; val it : int = 25164150 >