2019年10月11日金曜日

素因数分解ならばバレないかな(377681 × 2120473 × 1239883)

Twitterの流行に乗ってみました。

上記は、Windows上のRubyでワンライナーとして実行しています。改行して書くと以下の通りです。
ファイルとして保存するとうまく動かないようなので、かなり際どい(たまたま動いている)だけかもしれません。

「河野太郎」はJIS X 0213(いわゆるShift-JIS)で、10進数表記すると、「9,929,758,696,223,447,129」です。素因数分解すると、「377681 × 2120473 × 12398833」です。
 同様に「郎太野河」は、10進数表記すると、「10,977,965,814,454,192,589」で素因数分解すると「7 × 7 × 29 × 41 × 83 × 4817 × 471291059」になります

プログラムの作りが甘いので、表示が逆になります。つまり、「郎太野河」だと「河野太郎」と表示され、「河野太郎」だと「郎太野河」と表示されます m(_ _)m。


学習的な面の話も。したいことがあったら、色々な知識や技を駆使してください。今回も色々使いましたが、成功にたどり着けなかったものは除くと、以下のサイト(知識)を使いました。
  • 漢字コードを調べました(リンク
  • 素因数分解をしてくれるサイトがあります(リンク
  • rubyなどをつかうと、多倍長演算(大きい数の演算)が簡単にできます
参考:
 
JIS X 0208  324F  4C6E  4240 4F3A 
JIS X 0212  ─  ─  ─  ─ 
JIS X 0213  89CD  96EC  91BE  9859
CP932  89CD  96EC  91BE  9859
UTF-8  E6B2B3  E9878E  E5A4AA  E9838E 
戸籍統一文字番号  194840 455480 66870 447400
追伸
 本当はシェルで書いて、シェル芸botで動かしたかったのですが、そこまでの実力(根気、知識)はありませんでした。

0 件のコメント:

コメントを投稿