百五減算

出典: フリー百科事典『ウィキペディア(Wikipedia)』

百五減算(ひゃくごげんざん)は、未知の数(厳密には 0 ~ 104 の整数)を 3, 5, 7 でそれぞれ割った余りから元の数を求める和算の一つ。 3 で割った余りには 70、5 で割った余りには 21、7 で割った余りには 15 をかけた合計から 105 未満になるまで繰り返し 105 を引く(つまり 105 で割った余りを求める)もの。

目次

[編集]

以下に百五減算を利用して相手の年齢を当てるゲームを示す。これは百五減算を利用した遊びとして典型的なものである。

「あなたの年齢を 3 で割った余りを教えて下さい」と聞いて、例えば「 1 です」という答えを得る。同様に 5 と 7 で割った余りも尋ねてそれぞれ 4 , 5 であると教えてもらったとする。

そこで素早く 1 × 70 + 4 × 21 + 5 × 15 = 229 を計算し、229から105を引けるだけ引いていくと 229 - 105 = 124 , 124 - 105 = 19 となり、余りを聞いただけで「あなたの年齢は 19 歳ですね」と言い当てられるというわけである。

もちろんこの計算だけでは124歳や229歳である可能性もあるのだが、19歳か124歳かは相手を見ればすぐにわかるので、人間の年齢を当てるには十分である。

[編集] 背景

70 \equiv 0 \pmod{(5\times7)}, 70 \equiv 1 \pmod{3}
21 \equiv 0 \pmod{(3\times7)}, 21 \equiv 1 \pmod{5}
15 \equiv 0 \pmod{(3\times5)}, 15 \equiv 1 \pmod{7}より。

[編集] 一般解

3で割った余りをa、5で割った余りをb、7で割った余りをcとするとき、解xは、合同式を用いて

    x ≡ 70a + 21b + 15c (mod 105)

と表される。 解から105を引いた数もまた解になるので、70から105を引いて 70 - 105 = -35 として、別解

    x ≡ -35a + 21b + 15c (mod 105)

を得る。

[編集] 関連