« たけしのコマネチ大学数学科 第21回 - 等分 | トップページ | 独裁国家で何が悪い!? »

2007年10月 4日 (木)

たけしのコマネチ大学数学科 第22回 - 暗号

今回はテーマが「暗号」ということもあり、出題も暗号的にキーワードのみで出されました。

Koma22_1
「ビートたけしの誕生日、1947年1月18日は、何曜日か」という問題でした。
※ちなみに2006年1月1日は日曜日


これはですね、もう普通に計算すればいい問題です。
閏年を考慮して、日数を7で割って、あまりの数を曜日に当てはめればOK。

閏年のルール
 ・西暦年が4で割り切れる年は閏年
 ・ただし、西暦年が100で割り切れる年は平年
 ・ただし、西暦年が400で割り切れる年は閏年

以下、回答。 (白で書きます)
「1947年1月18日」 から 「2006年1月1日」 までの日数は以下の通り。
  365 × (2006 - 1947) + 閏年15日 - 17日 = 21533日
「1947年1月18日」の曜日は、
  21533 ÷ 7 = 3076 あまり 1
ということで、日曜日の1日前、土曜日となる。

以上。

コマ大チームの調べてきた「指カレンダー」ってのも面白かったです。
覚える気は無いですけど、あの原理はあとで調べてみたいですよ。


今回のテーマ、「暗号」ですが問題としてはあまり暗号に関係ないように感じます。
関係が有るのは、曜日を割り出す時の「あまり」の出し方です。
数学的にはMODという方法を行うわけですが、これはコンピュータの世界ではよく使われる演算子で、私も親しんでいました。
仕事ではあまり役に立たない演算子ですけどね。趣味的な遊びのプログラミングを行うときに便利なものです。
MODは、私レベルでは遊びにしか使わないものですが、今のコンピュータ世界では「暗号技術」に多用されている演算子です。
番組で例を紹介していました。
Koma22_3

暗号に関しては、私も遊びで作ったことがあります。
でもその時はMODを使った本格的なものではなく、Xorという演算子を使った遊び的なものでした。
  例えば「A」のASCIIコードは、10進数で「65」、2進数で「100 0001」
  100 0001 Xor 111 1111 は、 011 1110 となる。
  アスキーコード「011 1110」は、文字「>」となり、これが暗号となる。
  
  「>」を符号化するには、また「>」に「111 1111」をXorすればいい。
  011 1110 Xor 111 1111 = 100 0001 → 「A」
「111 1111」の数値は任意に変える事が出来る。
これが暗号化のキーになるわけです。
Xorや二進法の面白さを体感できるプログラミングでした。

|

« たけしのコマネチ大学数学科 第21回 - 等分 | トップページ | 独裁国家で何が悪い!? »

たけしのコマネチ大学数学科」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/90919/16656215

この記事へのトラックバック一覧です: たけしのコマネチ大学数学科 第22回 - 暗号:

« たけしのコマネチ大学数学科 第21回 - 等分 | トップページ | 独裁国家で何が悪い!? »