stylesheet

2012年4月25日水曜日

1 から 100 までの和

足し算

僕は普通の子供だったから「1から100までの和を求めなさい」の問題を出されても 1+2+3+4+5+6…98+99+100 と頭から順に足したと思う。途中で面倒臭くなって、もしかしたら 1,11,21,31…2,12,22,32… と何かの纏まりを使って工夫できないかと考えた人も居ただろう。




1から9の合計


まず 1 から 9 までの合計が 45 になることを確かめてみる。これは 1+2+3+4+5+6+7+8+9 の事。

沢山の足し算をする時は、切りのいい数で計算する方が簡単。足し算は順序を変えても答えが同じだから。
1+2+3+4+5+6+7+8+9 =
3  +3+9  +6+15 +9 =
6    +9  +21   +9 =
6    +9  +30      =
15       +30      = 45

10 から 99 の合計(10の位だけ合計する)

さて次は 10 から 99 の合計を求める。

まずは10の位だけを合計したい。10+20+…+80+90 は 450。これは1から9の合計の10倍と同じ。式にしたら10*(1+2+…+8+9)=10*45=450。

この固まりが 1 から 100 の間に 10個ある。10個というのは 10(20、30…80、90)の段、11(21、31…81、91)の段、12(22、32…82、92)の段…18(28、38…88、98)の段、19(29、39…89、99)の段、という事。その合計は 450*10=4500。これが十の位の合計。

10~99までの合計。
合計
1010+20+30+40+50+60+70+80+90450
1110+20+30+40+50+60+70+80+90+1+1+1+1+1+1+1+1+1450+0
1210+20+30+40+50+60+70+80+90+2+2+2+2+2+2+2+2+2450+?
1310+20+30+40+50+60+70+80+90+3+3+3+3+3+3+3+3+3450+?
1410+20+30+40+50+60+70+80+90+4+4+4+4+4+4+4+4+4450+?
1510+20+30+40+50+60+70+80+90+5+5+5+5+5+5+5+5+5450+?
1610+20+30+40+50+60+70+80+90+6+6+6+6+6+6+6+6+6450+?
1710+20+30+40+50+60+70+80+90+7+7+7+7+7+7+7+7+7450+?
1810+20+30+40+50+60+70+80+90+8+8+8+8+8+8+8+8+8450+?
1910+20+30+40+50+60+70+80+90+9+9+9+9+9+9+9+9+9450+?
合計450*10+?4500+?

10 から 99 の合計(1の位だけ合計する)

次に一の位を合計する。上の図を縦に見れば1~9が並んでいるのが分かる。これは1が9個、2が9個…8が9個、9が9個あると言えるね。

これを式にすると次の感じ。
(9*1)+(9*2)+(9*3)+…+(9*7)+(9*8)+(9*9)

これは9の段の掛け算の合計(9+18+27…+63+72+81)と同じだよ。

(2が9個)は(1が9個)の 2倍、3は(1が9個)の 3倍。だから、次の感じになる。
(9*1)+(9*2)+(9*3)+…+(9*7)+(9*8)+(9*9) =
(9*1)*1+(9*1)*2+(9*1)*3+…+(9*1)*7+(9*1)*8+(9*1)*9 =
(9*1)(1+2+3+…+7+8+9)

(1~9)が縦に並んでいるのを見れば、それが9個あるから 9*(1+2…8+9)と考えてもいいね。

1 から 9 の合計は 45。その10倍が450、それから45を引く。
9*(1+2…8+9) =
10*(1+2…8+9)―(1+2…8+9) =
10*45-45 =
450-45 =
405

十の位の合計は 4500、一の位の合計は 405。
4500 + 405 = 4905

こうして 10 から 99 までの合計が求められました。

1 から 100 の合計


その他
合計
0-90+1+2+3+4+5+6+7+8+945
100100

10から99の合計にその他を合計すれば1から100までの合計が求まります。
4905 + 45 + 100 =
4950 + 100 =
5050

将棋盤で考える

これを足し算の式じゃなくて、正方形の面積として考えてもいいはず。正方形に対角線を引いて半分のマス目を数える。これは正方形を半分にしたのと同じ。

9*9の正方形と言えば将棋盤。だから1 から 9 の合計は将棋盤のマス目を数えてもいい。



9*9 の正方形の面積は81。その半分は 81÷2=40.5。これに 9 の半分の 4.5 を足せば 45。これは対角線を引いたら半分だけはみ出すマスがあるので、このはみ出した部分を足したもの。

これを式にすれば(9 * 9 ÷ 2)+(9 ÷ 2)。これをnの一般式にすると(n*n÷2)+(n÷2)になる。
(n÷2) を仮に y と置けば
n*(n÷2)+(n÷2) =
n*y+y =
n*y+1*y =
(n+1)*y

y を元に戻せば
(n+1)*(n÷2) =
(1+n)n/2

この式が正しい事はブレーズ・パスカル(1623 - 1662)が10歳の時に証明したそうだ。この式は総和Σ(i=1, n) i の公式でもある。




ガウスの解法

さてこの問題をヨハン・カール・フリードリヒ・ガウス (1777 - 1855) は次のように解いた。1 から 100 までの和を求めるのに順番通りに計算する必要はない。そこで次のような2つのペアを作った。

00
1100101
299101
398101
497101
......101
4754101
4853101
4952101
5051101

101 が 50個ある。
101 * 50 = 5050

将棋盤を次のように使ったのと同じ。



これは合計を100になるようによっとずらしても使える。
0100100
199100
298100
397100
496100
......100
4753100
4852100
4951100
5050

これなら49個の100と残りの100と50がある。
4900+100+50 =
5000+50 =
5050。



計算に必要な時間

さて 1 から 100 までを計算するのに 一回の和を求めるのに 1 秒かかる計算機があるとする。一つの計算から次の計算に移るmまでの時間を0とした時、この計算機が答えを出すのは必要なのは何秒であろうか。

これは 1 から 100 までの足し算の式から + のマークの個数を数えればよい。1 から 99 の数字の右側に + のマークがあり 100 の右側にはないので + マークの個数は 99個ある。よって 99回の計算をするので 99秒後に答えが出る。
0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45, +の数は (n-1), この場合は9個。

この +マークを演算子と呼ぶ。これが 一回の計算を意味する。一回の計算とは、数に対する1回の操作と考えてよい。

では複数台の計算機を使えば最短で何秒で答えが出るだろうか。
1回目
一回の演算で和を作るには二つの数が必要。1 から 100 の数を(1と2)、(3と4)と50個のまとまりを作る。これを計算機を使って和を求める。
2回目
これで 50個の和が求まったので次にまた2つずつの組み合わせを作り 25 個の計算機で計算する。
3回目
また二つずつの組み合わせを作り 12個の計算機で計算する。このとき1つだけ計算できない数が余る(25 は奇数で 2 で割り切れないから余りがある)。
4回目
12個の数を計算して 6個。
5回目
6個の数を計算して 3個。
6回目
3個の計算結果にさっきの余りの一つを加えて 4 つの数にして計算して 二個。
7回目
2個を計算して 1 つの和が求まる。

50個の計算機を使えば 7 秒後に答えが求まる。並列に計算すれば速くなる。これは ÷2 を繰り返しているのと同じ。

12345678910
11121314151617181920
21222324252627282930
31323334353637383940
41424344454647484950
51525354555657585960
61626364656667686970
71727374757677787980
81828384858687888990
919293949596979899100

足し算とトーナメント

さて、足し算を 二つずつ足してゆくのは何かに似ていると思いませんか。二つの数が 一つになる、二つのものが 一つになる、二つのものから 一つだけが選ばれる。

野球やオリンピック、サッカー、囲碁などのトーナメント方式による勝ち上がり方はこの足し算と同じ構造を持っていそうだよ。

100人の選手やチームがトーナメントで戦うと、優勝者が決まる迄に何試合が必要か。これは対戦会場を幾つ用意すればよいかとか、対戦が終わるまでに何日掛かるか、を解くのと同じ問題だね。

100名のうち、優勝者を1名とすれば、残りの 99名は負ける。99名が負けるためには負けるための試合が必要。つまり 99の試合が必要。

99の試合をするためには、99の会場が必要だし、一日一試合だけなら99日が必要。

一人が一日に一回の試合ならば、平行して試合をしていい。この場合、トーナメントは何日必要か、また何会場を用意すればよいか。これは最後に1以下になるまで 100を2で割って行けばよい。途中で割り切れない数(奇数)が出るので端数があったら切り上げる。

1) 100 / 2 = 50
2) 50 / 2 = 25
3) 25 / 2 = 12.5 = 13
4) 13 / 2 = 6.5 = 7
5) 7 / 2 = 3.5 = 4
6) 4 / 2 = 2
7) 2 / 2 = 1

1になるまで2で割る問題は、逆に言えば 100を超えるまで 2を掛けても同じはず。これは 2の何乗が 100を超えるかという問題になる。2、4、8、16、32、64、128、256…


2の7乗が128だから 7日目で優勝者が決まる。

では 65 人から 128 人が参加するトーナメントは必ず 7 日で終わるか。これを最小と最大で確かめてみよう。
1) 65 / 2 = 32 余り1
2) 32 / 2 = 16
3) 16 / 2 = 8
4) 8 / 2 = 4
5) 4 / 2 = 2
6) 2 / 2 = 1 だだし余りが1あるので
7) 2 / 2 = 1

1) 128 / 2 = 64
2) 64 / 2 = 32
3) 32 / 2 = 16
4) 16 / 2 = 8
5) 8 / 2 = 4
6) 4 / 2 = 2
7) 2 / 2 = 1

129 人だと最初の段階で 一 人余ってその人との戦いがどこかで挟まれるのでもう 一日多くなる計算だ。

では、最初に 50部屋も用意できないよと言う場合はどうすればよいか。用意できる部屋数を 20とすると 一部屋で 二人が対戦するのだから 一度に 40人が試合を行う。すると 100人が 40人になるまでは 20部屋を使ってゆく。

1) 100 - 20 = 80
2) 80 - 20 = 60
3) 60 - 20 = 40
4) 40 / 2 = 20
5) 20 / 2 = 10
6) 10 / 2 = 5
7) 5 / 2 = 2 ...1
8) 2 / 2 = 1 (+1)
9) 2 / 2 = 1

よって優勝者が出るまでに 9日間を必要とする。

数の和は、面積を求めたりトーナメントを計算したりするのと、よく似ているというお話でした。

0 件のコメント:

コメントを投稿