kostumブログ

勉強したことやノート代わりのアウトプットに使っています。

project Euler 006

環境

問題

最初の10個の自然数について, その二乗の和は,

12 + 22 + ... + 102 = 385

最初の10個の自然数について, その和の二乗は,

(1 + 2 + ... + 10)2 = 3025

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

考え方

  1. 最初の n 個の自然数の変数を作成する
  2. 二乗の和を計算する
  3. 和の二乗を計算する
  4. 二乗の和と和の二乗の差を計算する

コード

const num = 100;
let nijowa = 0;
let wa = 0;
let wanijou = 0;
for (let i = 1; i <= num; i++) {
  nijowa += i * i;
  wa += i;
}
wanijou = wa * wa;
return Math.abs(nijowa - wanijou);

説明

  • まず、最初から n までの、一番最後の数字( n )を設定する
  • 二乗和、和、和の二乗を設定する変数を作成する
  • 1 から n まで自然数を、 for 文を使用して二乗和、和を計算する
  • 和を二乗して、和の二乗を計算する
  • 二乗和と和の二乗の差を計算する(差を知りたいので、絶対値をとる)