LoginSignup
0

More than 5 years have passed since last update.

PowerShell で Project Euler 6

Last updated at Posted at 2017-03-19

問題

最初の10個の自然数について, その二乗の和は,
$1^2 + 2^2 + ... + 10^2 = 385$
最初の10個の自然数について, その和の二乗は,
$(1 + 2 + ... + 10)^2 = 3025$
これらの数の差は 3025 - 385 = 2640 となる.
同様にして, 最初の100個の自然数について二乗の和と和の二乗の差を求めよ.

素直に

100 |
    % {1..$_} |
    % {$a, $b = 0, 0} {$a += $_ * $_; $b += $_} {$b * $b - $a}

総和の公式を使って

100 |
    % {$_ * ($_ + 1) * ($_ - 1) * (3 * $_ + 2) / 12}

$(\sum_{k=1}^{n} k)^2 - \sum_{k=1}^{n} k^2$$ = \left( \frac{n (n + 1)}{2} \right)^2 - \frac{n (n + 1)(2 n + 1)}{6}$$ = \frac{n(n+1)(n-1)(3n+2)}{12}$

以上

おわり。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0