モジュロ演算 サマーウォーズ

数学
今回は、かのサマーウォーズでも有名になったモジュロ演算について、少し紹介をしてみたいと思います。

 

まず、モジュロ演算とは割り算を実行したときに出てくる余りに着目した演算方法のことをいいます。

例えば、1年は365日あるので、これを7で割ったときの余りは1です。1年の始まりが日曜日で始まるならば、その次の年は月曜日から始まることになります。つまり、毎年、うるう年でない限り、曜日がひとつずつズレていくのですね!

これを人の誕生日にも応用してみましょう。

ここでは、西暦の年・月・日から、その日が何曜日であるかを算出する公式であるツェラーの公式を用いることになります。

この公式は形が少し難しいため、ここでは単純化しておきます。

それでは以下のステップに沿って、1999年6月10日生まれの人が何曜日生まれなのかを計算していきましょう!

 

Step1

西暦の下2桁を4で割ったときの商について

例では、

99÷4=24・・・3

ですので、24という数字をストックします。

 

Step2

西暦の下2けたの数字について

今回は、99という数字をストックしておきます。

 

Step3

そして、次のステップは以下の表の数字を使います。

月  1 2 3 4 5 6 7 8 9 10 11 12

数字 1 4 4 0 2 5 0 3 6 1 4 6

というように、月によって与えられる固有の数字があるのですね!

今回の場合は、6月生まれなので、5という数字をストックします。

 

Step4

日付の数字について

例は10日なので、10という数字をストックします。

 

Step5

1900年代であれば0、2000年代であれば6という数字について

例の場合だと、0という数字をストックします。

 

Step6

上のストックした数字を足したものを7で割った余りを計算します。

24+99+5+10+0=138

138÷7=19・・・5

なので、5という数字を採用します。

 

Step7

上の数字を以下の表に対応させます。

曜日 日 月 火 水 木 金 土

余り 1 2 3 4 5 6 0

すると、5は木曜の数字なので、1999年6月10日は木曜日ということが分かります。

 

映画の健二くんみたいに瞬間的に、どの曜日かはわかりませんが、1999年生まれの同級生に対してこれを披露するのであれば、

Step1、2、5の数字の合計である123を事前に覚えておいて、あとは誕生日を聞いてから、頭の中でStep3、4、6、7を実行すれば、10秒ぐらいで暗算することはできるのかなと思います。

 

もし、周囲をあっと驚かせたい場合は、ぜひやってみてください(笑)

【メルカリ】

コメント

タイトルとURLをコピーしました