Friday 13 November 2009

映画 サマー・ウォーズ

Shorの因数分解アルゴリズム 数学オリンピック モジュロ演算 暗号

主人公の健二が夏希の誕生日の曜日を当てる(実はモジュロ演算で計算して求める)場面です.文庫本2009年8月20日発行第3版では,
夏希「わたし? 7月19日.平成4年」
健二「土曜日です
夏希「え?」
健二「1992年7月19日は,日曜日です」
となっていたのでこれはおかしいと思って映画を見てみたら、
夏希「わたし? 7月19日.平成4年の」
健二「日曜日です
夏希「え?」
健二「1992年7月19日は,日曜日でした」
となっていました.文庫本は間違いで,映画の方が正しかったようです.

モジュロ演算はツェラーの公式(Zeller's Congruence)が元になっています.西暦の上2桁を$J$,下2桁を$K$,月を$m$,日を$d$として,$$[J/4]-2J+K+[K/4]+[26(m+1)/10]+d$$(ここで$[x]$は$x$を超えない最大の整数.ただし1月・2月は前年の13月・14月として計算)
を計算し,この値を7で割った余り$r$が,0なら土曜,1なら日曜,……,6なら金曜になります.夏希の誕生日の$r$は1となるので日曜日になります.因みに,私の誕生日も日曜ということがわかりました.

No comments:

Post a Comment