百五減算

出典: フリー百科事典『ウィキペディア(Wikipedia)』
2012年6月7日 (木) 19:07時点におけるSonchou (トーク)による版 (<ruby>タグは非推奨(WP:JPE#読み仮名の要否)。)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

百五減算(ひゃくごげんざん)は、未知の数(厳密には 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歳かは相手を見ればすぐにわかるので、人間の年齢を当てるには十分である。

背景

<math>70 \equiv 0 \pmod{(5\times7)}, 70 \equiv 1 \pmod{3}</math>
<math>21 \equiv 0 \pmod{(3\times7)}, 21 \equiv 1 \pmod{5}</math>
<math>15 \equiv 0 \pmod{(3\times5)}, 15 \equiv 1 \pmod{7}</math>より[1]

一般解

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)

を得る。

なお、余りを知る数が3、5、7でなくても、どの2つをとっても互いに素となるような数の組み合わせであれば、中国剰余定理によりこのような合同式を導くことができる[1]

原文

吉田 1977から問題と回答の原文を引用する。

問題

第十三 百五げんといふ事

テンプレート:ルビばかりをきゝてかづを云事なり。テンプレート:ルビ七づゝテンプレート:ルビ時、二つ残ると云。又五つひく時、一つ残ると云。又三づゝ引時、二つ残ると云時に、此テンプレート:ルビばかりをテンプレート:ルビて惣数を知る。

回答

惣数八十六あるといふなり。

 テンプレート:ルビ七づゝ引時の半一つを、十五づゝのさん用にテンプレート:ルビ、三十とおき、又五づゝ引時の半一つを、二十一と入てテンプレート:ルビ。又三づゝの時のテンプレート:ルビを、一つを七十づゝのさん用にして百四十と入て、三口テンプレート:ルビ百九十一有時、百にあまる時には百五はらい、のこり八十六あるといふなり。

脚注

テンプレート:脚注ヘルプ テンプレート:Reflist

参考文献

関連

外部リンク

  • 1.0 1.1 テンプレート:Cite book