[ 中学の数学 ] 1 から 100 までを足し合わせるといくつになる?(ガウスの公式)
[サイトマップを見る ]
問題
$${1 + 2 +3 + \cdots + 100}$$ はいくらか。
解き方1
$$
1 + 2 + 3 + 4 + 5 + 6+ \cdots + 100
$$
上の計算をする。しかし,計算するのは大変ですね。
解き方2
sum = 0
for num in range(1, 101):
sum += num print(sum)
Python でコードを書くという方法です。このコードでは range(1, 101)を使って,1から100までの数字を sum に次々と足し合わせていき,最後,print(sum) で sum の内容を出力しています。
これだと人間が計算する必要はありませんが,コードを書くのに時間がかかってしまいますね。
解き方3
数学者のガウスが7歳のとき,この問題と同じ問題を授業中に先生から出されました。ガウスは Python でコードを書くこともなく,またひとつひとつ 1 から 100 まで足し合わせることなく,文字通り,すぐさま 5050 という正解を導きました。
Python のコードで書くと次のとおりです。
n = 100
result = n * (n + 1) // 2
print(result)
1 から 100 までの和は,$${\frac{n * (n + 1)}{2}}$$ で求めることができます。これをガウスの公式といいます。ガウスの公式はどのようにして導かれるのか。わかりやすいように 1 から 10 の場合で考えてみましょう。下の図1のように 1 から 10 まで並べてみます。
それをひっくり返してみます(図2)。赤色に塗り替えておきます。
そして,図1と図2をくっつけます。図3のようになります。
行を見てください。どの行をとっても、図1の数と図2の数を足すと必ず11になりますね。1行はに必ず11個あります。
行数は10行ですから、全体の合計は$${11 \times 10=110}$$となります。しかし、図3は図1を2つ合わせたものなので、求める答えは110÷2=55となります。
これでガウスの公式が導けましたね。
ガウスの公式で解いてみる
私たちの知りたいのは,$${1 + 2 +3 + \cdots + 100}$$ はいくらかということでした。ガウスの公式を使うと,次のような式を立てることができます。
$$
\frac{100 \times (100+1)}{2}
$$
答えは 5050 です。たしかに瞬時に解けます。
関連する書籍
小学校6年生の算数の知識があれば,読み始められます。
吉田 信夫 (著)「ガウスとオイラーの整数論の世界」(技術評論社)
[ サイトマップを見る ]