Tuesday 22 January 2019

小説 京都寺町三条のホームズ 5

2016年 望月麻衣著 双葉文庫

カラーコード シーザー暗号 エニグマ

祖父がオーナーの骨董品店「蔵」を手伝う大学院生家頭清貴(通称ホームズ)と,アルバイトの高校生真城葵が,京都のさまざまな名所を舞台に活躍するライトミステリーです.
『灰桜色』のカラーコードは『#e8d3d1』.
『e8d3d1』をまずシーザー暗号化したら『h11g6g4』.
これを数字に変えたら『8117674』.
これをまた,アルファベットに変えたら,『haagfgd』.
『haagfgd』を『エニグマ』化したら,『rtwqokw』.
これを数字化すると,『182023151123』.
「これで,12桁や.……できた」
色のカラーコードは16進数です.16進数は0~9とA~Fの15個の数を使って表します.e8d3d1を10進数で表すと,
14×16^5+8×16^4+13×16^3+3×16^2+13×16+1=15258577
となり,『灰桜色』は1525万8577番目の色ということになります.因みに0に当たる#000000は黒,16進数6桁最後の#FFFFFF=1677万7215番目は白となっています.

シーザー暗号は,アルファベットをすべていくつかずつずらすという初歩的な暗号です.この場合 e→h は,e→f→g→hで3つずれるので,他の文字や数字も3つ後のものになります.すなわち,8→11, d→g, 3→6, d→g, 1→4となるので,『e8d3d1』が『h11g6g4』になります.

作品中で『h11g6g4』をわざわざ数字化してからアルファベット化していますが,なぜすぐにアルファベット化しなかったのでしょう.しかも8を11にしたのですから,11はaaではなく,11番目のアルファベットであるkではないでしょうか.ここはもとの6文字をキープして『haagfgd』ではなく『hkgfgd』とすべきでしょう.

Click to enlarge.
『エニグマ』は第2次世界大戦でドイツが開発した暗号で,解読困難といわれたのですが,イギリスの数学者Alan Turingが解読し,その功績で後に連合軍が優勢になったことが有名で,映画にもなっています.この暗号化は難しいので変換サイトで確認しました.右図のように『haagfgd』を『エニグマ』化したものは,確かに作品中の『rtwqokw』と一致しています.

ところが,
『rtwqokw』を数字化すると『182023151123』
と書かれていたのですが,よく見ると4つ目のqが抜けています.qは17番目のアルファベットなので,正しくは『18202317151123』となるはずですが,それでは14桁になってしまいます.

上で「すべき」と主張した6文字の『hkgfgd』を『エニグマ』化したら『rtwqok』となり,これを数字化すると12桁の『182023171511』になりました.

従って,作品中の文章は以下のように訂正した方がいいと思います(読んだのは第1刷だったので,その後訂正されているかも知れません).
『灰桜色』のカラーコードは『#e8d3d1』
『e8d3d1』をまずシーザー暗号化したら『h11g6g4』
これをアルファベットに変えたら『hkgfgd』
『hkgfgd』を『エニグマ』化したら『rtwqok』
これを数字化すると『182023171511』
「これで12桁や.……できた」 
ただ,これでもやはり11をaaにするのかkにするのか紛らわしいので,先にアルファベット化すればすっきりします.
『灰桜色』のカラーコードは『#e8d3d1』
『e8d3d1』をまずアルファベットに変えたら『ehdcda』
これをシーザー暗号化したら『hkgfgd』
『hkgfgd』を『エニグマ』化したら『rtwqok』
これを数字化すると『182023171511』
「これで12桁や.……できた」 
それにしても,誰かがこんな数字の決め方をしたとして,これを他の人が当てるなんて実際ありえないですよね.まあ,小説やからええか(笑).

[Reference]
色検索
https://www.colordic.org/search/
Enigma Simulation
http://enigmaco.de/enigma/enigma.html

Wednesday 16 January 2019

小説 国語、数学、理科、誘拐

2016年 青柳碧人著 文春文庫 

円周角 ニュートン算 不等式の表す領域

ある塾の生徒が誘拐され,その塾の講師たちが救出のために奮闘する話です.
「8本足のタコ星人3人が10日でする仕事の量はトータルで240,10本足のイカ星人2人が18日でする仕事の量はトータルで360でしょ?」
「その差120は8日間でヒトデ型イチゴが生長する量になるよね.つまり,ヒトデ型イチゴが1日に生長する量は120÷8で15だ」
「タコ星人とイカ星人1人ずつで1日にできる仕事の量は18だけど,その1日の間にヒトデ型イチゴは15成長しちゃうから,結局減るのは3しかないでしょ? そいで,初めから農場にあるヒトデ型イチゴの量なんだけど」
問題文がなく,解き方を相談している場面だけで,しかもここでこの話題が終わってしまいました.「ぉ」と「お」や,「生長」と「成長」など一貫性がないのはさておき,このニュートン算の問題を推測して解いてみました.

[推測される問題]
宇宙のどこかの星に,一定の割合で成長していくヒトデ型イチゴの農場がある.これらを摘み取るための1日の仕事の量は,タコ星人1人なら8,イカ星人1人なら10である.初めから農場にあるヒトデ型イチゴをすべて摘み取るには,タコ星人3人なら10日かかり,イカ星人2人なら18日かかる.
1) 初めから農場にあるヒトデ型イチゴの量はいくらか.
2) タコ星人1人とイカ星人1人が一緒なら,この量をすべて摘み取るのに何日かかるか.

[小学生の解答] (右図参照)
タコ星人3人での10日間の仕事の量は8×3×10=240,イカ星人2人での18日間の仕事の量は10×2×18=360.仕事の量の差は360-240=120で,日数の差は18-10=8.つまり,ヒトデ型イチゴが1日に成長する量は120÷8=15.
1) タコ星人3人の1日の仕事の量は8×3=24.このとき1日に減る量は24-15=9なので,初めから農場にあるヒトデ型イチゴの量は 9×10=90(または,イカ星人2人の1日の仕事の量は10×2=20.このとき1日に減る量は20-15=5なので,初めから農場にあるヒトデ型イチゴの量は 5×18=90).
2) タコ星人1人とイカ星人1人が一緒にする1日の仕事量は8+10=18.このとき1日に減る量は18-15=3.かかる日数は90÷3=30.

[代数で解くと]
1) 初めから農場にあるヒトデ型イチゴの量をx,ヒトデ型イチゴが1日に成長する量をyとすると,タコ星人3人での10日間の仕事の量は x+10y=24×10…①,イカ星人2人での18日間の仕事の量は x+18y=20×18…②.連立方程式①②を解いて x=90,y=15.
2) タコ星人1人とイカ星人1人が一緒にする1日の仕事の量は 8+10=18.かかる日数をzとすると,z日間の仕事の量は 900+15z=18z.これを解いて z=30.

Saturday, 22 December 2018での投稿でも述べましたが,世界中の最も多くの国や地域で採用されている「国際バカロレア(IB)」など,海外のカリキュラムでは,このような〇〇算というような,日本の中学入試のためにあるようなやたら難しい文章題はあまり見られず,代数を使って方程式で解く方法へスムーズに進んでいるように思います.