142857の怪    

このコーナーは、ごく暇な方のみご覧ください。たぶん、何の役にもたちません。   

 142857
不思議な数、142857とは? 
他に無いか、探す。  (  28桁) 
8Bitパソコンで...( 108桁)Nbasic 
8Bitパソコンで...(1018桁)GAMEコンパイラ 
16bitパソコンで...(気が向いたら...) 
32bitパソコンで...(4446桁)(数値のみ...) 
142857,その他の面白い性質と算出した方法  


 プログラム・ソースリスト

1:計算に用いたマクロ・アセンブラ ソースリスト
jun_asm.htm (テキストファイル→Word→HTML保存) 
                (2002.10.18UP  2003.08.08修正)
asm_List   (PDFファイル adbe Acrobat Reader が必要です。)
                (2002.10.18UP)
2:NBASICによる算出プログラム 
NBASICによる計算アルゴリズムの変遷  (2004.08.08)
(NBASICで作成したプログラムのソースリストが発掘できました。
ただしプリントアウトからの転記なので転記ミスがあるかもしれません。
あるかもしれない・・・あるだろう・・・いや、絶対有る!)







142857 とは?

 「142857」という数値は、 その桁数(6)までの数を掛けても、数字の順序が変わらないという、実に不思議な性質を持っています。

142857×1=142857
142857×2=285714
142857×3=428571
142857×4=571428
142857×5=714285
142857×6=857142
 この数値を知ったのは、昭和47〜8年頃、夜勤の先輩から教えて貰った訳ですが、 それ以来頭の隅に残っていました。

 Top へ戻る


他に無いか、探す。

 それから1年、ある社内教育で眠くて、眠くて...
 ふとこの数を思いだし、眠気覚ましに他には無いかと試行錯誤にしているうちに、 ふとひらめいて、次の16桁の数値を発見しました。

    その数値は、 「05882 35294 11764 7」

      暇な方はお試しください。(掛ける数は桁数まで、つまり1〜16です。)

 これは感激しましたね。この時は...

 更にと探すと、その講義の時間中に、

    更に18桁「05263 15789 47368 421」が見つかりました。

 こうなると面白くなり、次の講義も、その次の日も講義のメモをとる振りをしながら、電卓+筆算で究極の暇潰しです。

    22桁「04347 82608 69565 21739 13」

    28桁「03448 27586 20689 65517 24137 931」

 この2つが見つかりました。

 手計算はこの辺りで限界ですね。

(何、馬鹿なことやってんだろ...)

 Top へ戻る



8Bitパソコンで...Nbasic

 それから数年後せっかく忘れかけていたのに、かのPC8001が発売されてしまったのです。
(NEC製、8bit機です。CPUはZ80、クロックは4MHzだったか8MHzだったか、メモリーは16K、それでも画期的な出来事でした。)

 早速、NBASICで計算してみました。
 Ver 1  59桁計算するのに49分57秒掛かりました。
(手計算で確認するのに、1週間...)

      01694 91525 42372 88135 59322 03389 83050 84745 76271 18644
      06779 661

 更に計算アルゴリズムとプログラムを見直し
 Ver 2  59桁にて30分24秒
 Ver 3  59桁にて 3分12秒

    (下記、108桁では11分11秒)

      00917 43119 26605 50458 71559 63302 75229 35779 81651 37614
      67889 90825 68807 33944 95412 84403 66972 47706 42201 83486
      23853 211

 この飛躍的な時間短縮の背景には三奇人とうたわれた、K君との短縮競争によるものです。
(残念ながら彼との競争は、常に大差・僅差で破れ、とうとう一度も勝つことができなかったです。)

 

 しかし、Nbasicではこの辺りが限界でした。
(それでも計算アルゴリズムだけで10分の1以下にできるとは思っていませんでしたが...)

 Top へ戻る


8Bitパソコンで...GAMEコンパイラ

 ここまで来るともう意地と根性です。
 ちょうどこの頃K君が、このGAMEという言語をディスクベースのコンパイラ化してオリジナルのDOSを作ったというので、次はNbasicをあきらめ、このGAMEコンパイラで挑戦すると一挙に更に20分の1近くまで短縮してしまいました。

(GAMEとは、Cライクな言語で整数のみで処理する計算や、名前の通りゲームを作るのには最適な言語でした。 また、このオリジナルDOSもCPMライクなDOSですが、コンパクトで使い勝手も良いものでした。)

 Ver 5  59桁では10秒
      108桁では33秒、
      桁数も更に延ばして1018桁で、45分31秒です。

00098 13542 68891 06967 61530 91265 94700 68694 79882 23748
77330 71638 86162 90480 86359 17566 24141 31501 47203 14033
36604 51422 96368 98920 51030 42198 23356 23159 96074 58292
44357 21295 38763 49362 11972 52208 04710 50049 06771 34445
53483 80765 45632 97350 34347 39941 11874 38665 35819 43081
45240 43179 58783 12070 65750 73601 57016 68302 25711 48184
49460 25515 21099 11678 11579 98037 29146 22178 60647 69381
74681 05986 26104 02355 25024 53385 67222 76741 90382 72816
48675 17173 69970 55937 19332 67909 71540 72620 21589 79391
56035 32875 36800 78508 34151 12855 74092 24730 12757 60549
55839 05789 99018 64573 11089 30323 84690 87340 52993 13052
01177 62512 26692 83611 38370 95191 36408 24337 58586 84985
27968 59666 33954 85770 36310 10794 89695 78017 66437 68400
39254 17075 56427 87046 12365 06378 80274 77919 52894 99509
32286 55544 65161 92345 43670 26496 56526 00588 81256 13346
41805 69185 47595 68204 12168 79293 42492 63984 29833 16977
42885 18155 05397 44847 89008 83218 84200 19627 08537 78213
93523 06182 53189 40137 38959 76447 49754 66143 27772 32580
96172 71835 13248 28263 00294 40628 06673 20902 84592 73797
84102 06084 39646 71246 31992 14916 58488 71442 59077 52698
72423 94504 41609 421

 Top へ戻る



32bitパソコンで...(マクロアセンブラ)(4446桁の数値のみ...)

  暇を持て余している方、本当に1から4446までの数を掛けても数字の順序が変わらないか、ぜひお試しください。

4446 桁 06h26m29s000ms

00022 48706 99347 87497 18911 62581 51562 85136 04677 31054
64357 99415 33618 16955 25073 08297 72880 59365 86462 78389
92579 26692 15201 25927 59163 48099 84259 05104 56487 51967
61861 92939 06004 04767 25882 61749 49404 09264 67281 31324
48841 91589 83584 43894 76051 27051 94513 15493 59118 50685
85563 30110 18664 26804 58736 22666 96649 42657 97166 62918
82167 75354 17135 14729 03080 72858 10658 87114 90892 73667
64110 63638 40791 54486 17045 19901 05689 22869 35012 36788
84641 33123 45401 39419 83359 56824 82572 52080 05396 89678
43489 99325 38790 19563 75084 32651 22554 53114 45918 59680

68360 69260 17539 91454 91342 47807 51068 13582 19024 06116
48302 22621 99235 43962 22172 25095 57004 72228 46863 05374
40971 44142 11828 19878 56982 23521 47515 17877 22059 81560
60265 34742 52304 92466 83157 18461 88441 64605 35192 26444
79424 33100 96694 40071 95862 37913 19991 00517 20260 85001
12435 34967 39374 85945 58129 07578 14256 80233 86552 73217
89970 76680 90847 76253 65414 88644 02968 29323 13919 49628
96334 60760 06296 37958 17404 99212 95255 22824 37598 38093
09646 95300 20238 36294 13087 47470 20463 23364 06566 22442
09579 49179 22194 73802 56352 59725 65774 67955 92534 29278

16505 50933 21340 22936 81133 34832 47132 89858 33145 94108
38767 70856 75736 45154 03642 90532 94355 74544 63683 38205
53181 92039 57724 30852 25995 05284 46143 46750 61839 44232
06656 17270 06970 99167 97841 24128 62604 00269 84483 92174
49966 26939 50978 18754 21632 56127 72655 72295 92984 03418
03463 00876 99572 74567 12390 37553 40679 10951 20305 82415
11131 09961 77198 11108 61254 77850 23611 42343 15268 72048
57207 10591 40993 92849 11176 07375 75893 86102 99078 03013
26737 12615 24623 34157 85923 09422 08230 26759 61322 23971
21655 04834 72003 59793 11895 65999 55025 86013 04250 05621

76748 36968 74297 27906 45378 90712 84011 69327 63660 89498
53834 04542 38812 68270 74432 20148 41466 15695 97481 44816
73038 00314 81897 90870 24960 64762 76141 21879 91904 65482
34765 01011 91814 70654 37373 51023 16168 20328 31122 10478
97458 96109 73690 12817 62986 28288 73397 79626 71463 90825
27546 66067 01146 84056 66741 62356 64492 91657 29705 41938
38542 83786 82257 70182 14526 64717 78727 23184 16910 27659
09601 97886 21542 61299 75264 22307 17337 53091 97211 60332
80863 50348 54958 39892 06206 43130 20013 49224 19608 72498
31346 97548 90937 71081 62806 38632 78614 79649 20170 90173

15043 84978 63728 35619 51877 67033 95547 56015 29120 75556
55498 08859 90555 43062 73892 51180 57117 15763 43602 42860
35529 57049 69642 45558 80368 78794 69305 14953 90150 66336
85630 76231 16707 89296 15471 10411 51337 98066 11198 56082
75241 73600 17989 65594 78299 97751 29300 65212 50281 08837
41848 43714 86395 32268 94535 64200 58466 38183 04474 92691
70227 11940 63413 53721 61007 42073 30784 79874 07240 83651
90015 74094 89543 51248 03238 13807 06093 99595 23274 11738
25050 59590 73532 71868 67551 15808 41016 41556 10523 94872
94805 48684 50640 88149 31414 43669 88981 33573 19541 26377

33303 35057 34202 83337 08117 83224 64582 86485 27096 91927
14189 34112 88509 10726 33235 88936 36159 20845 51382 95480
09894 31077 13064 98763 21115 35866 87654 59860 58016 64043
17517 42747 91994 60310 32156 51000 67461 20980 43624 91567
34877 44546 88554 08140 31931 63930 73982 46008 54508 65752
19248 93186 41780 97593 88351 69777 37800 76456 03777 82774
90442 99527 77153 13694 62559 02855 85788 17180 12143 01776
47852 48482 12277 94018 43939 73465 25747 69507 53316 84281
53811 55835 39464 80773 55520 57566 89903 30559 92804 13762
08680 00899 48279 73914 99887 56465 03260 62514 05441 87092

42185 74319 76613 44726 78210 02923 31909 15223 74634 58511
35597 03170 67686 08050 37103 66539 23993 70362 04182 59500
78704 74477 17562 40161 90690 35304 69979 76163 70586 91252
52979 53676 63593 43377 55790 42050 82077 80526 19743 64740
27434 22532 04407 46570 72183 49449 06678 65977 06318 86665
16752 86710 14166 85405 89161 23229 14324 26354 84596 35709
46705 64425 45536 31661 79446 81807 96042 27569 14774 00494
71553 85653 24938 16055 76793 34382 72993 02900 83202 15875
87137 39599 73015 51607 82550 03373 06049 02181 24578 36743
87227 34427 70407 01596 58196 53699 12300 42725 43287 60962

44659 32089 04879 69417 58488 86890 03822 80188 89138 74522
14976 38857 65684 73127 95142 79289 40859 00607 15088 82392
62424 10613 89700 92196 98673 26287 38475 37665 84214 07690
57791 76973 24038 67776 02878 34495 16527 99640 20688 10434
00044 97413 98695 74994 37823 25163 03125 70272 09354 62109
28715 98830 67236 33910 50146 16595 45761 18731 72925 56779
85158 53384 30402 51855 18326 96199 68518 10209 12975 03935
23723 85878 12008 09534 51765 23498 98808 18529 34562 62648
97683 83179 67168 87789 52102 54103 89026 30987 18237 01371
71126 60220 37328 53609 17472 45333 93298 85315 94333 25837

64335 50708 34270 29458 06161 45716 21317 74229 81785 47335
28221 27276 81583 08972 34090 39802 11378 45738 70024 73577
69282 66246 90802 78839 66719 13649 65145 04160 10793 79356
86979 98650 77580 39127 50168 65302 45109 06228 91837 19361
36721 38520 35079 82909 82684 95615 02136 27164 38048 12232
96604 45243 98470 87924 44344 50191 14009 44456 93726 10748
81942 88284 23656 39757 13964 47042 95030 35754 44119 63121
20530 69485 04609 84933 66314 36923 76883 29210 70384 52889
58848 66201 93388 80143 91724 75826 39982 01034 40521 7

 Top へ戻る


142857(ぐるぐる数?),その他の面白い性質と算出した方法

 142857(ぐるぐる数:下段のリンクにある長崎総合大学HP、カフェ・プロトマヤの「魔法数ぐるぐる」を借用して命名)には、1から6までの数値を掛けても数字の順番が変わらないもという性質のほか、色々と面白い性質を持っています。
 (また、これらの性質は、算出した全ての数値でも同じ事を確認しています。)

 (1).算出したぐるぐる数は全て偶数桁であり、前半の桁と後半の桁を足すと、999・・・・となる。

 6桁 142857 → 142+857=999
16桁 05882 35294 11764 7 → 05882352+94117647=99999999
28桁 03448 27586 20689 65517 24137 931
            → 03448275862068+96551724137931=99999999999999
 また、この性質は右の図のように、ぐるぐる数で円周を描けば、その対向する数値どおしを足すと、全てにおいて 9 となる事を意味しています。



 (2).よく知られている事ですが、142857に7を掛けると999999となります。
   つまり、桁数+1の値を掛けると、999・・・・となる。
 6桁 142857 * 7 = 99999 9
16桁 05882 35294 11764 7 *17 =99999 99999 999999
28桁 03448 27586 20689 65517 24137 931
            *29=99999 99999 99999 99999 99999 999
 
 試行錯誤の末、手計算で 142857以外のぐるぐる数を見つけたきっかけはこれでした。
 逆に考えると、ぐるぐる数は、
        999・・・ / (9の続く桁数)  となるのではないか? 
 n=2  9/2=4.5    割り切れずNG → 割り切る為に、nの値は偶数ではあり得ない。
 n=3  99/3=3     3*2=6 で、NG
 n=5  9999/5=1999.8
                   nの下一桁に[5]はあり得ない。(絶対9を割り切れない)
 n=7  999999/7=142857
                   当然成立 Good!!
                   nの値は、素数になるのでは? 
   ・・・・以下、
 n=13 99999 99999 33 / 13 =76923 07692 30
                   あれ・・・? 何となく怪しげな匂いが・・・
                   769230 ? ・・・・ 769+230=999 ??  でも結果は NG
 そして、
 n=17 99999 99999 99999 9 /17 =05882 35294 11764 7
                   05882352+94117647=99999999  Good!!
                   1から16までを掛けて見ると・・・ Good!!! 見つけましたぁ!!

 計算式であらわすと、
  ぐるぐる数候補 = (10^(n−1)-1)/n となるのかな・・・?

 更に半信半疑で手計算していくと、
  n=17、19、23、29  が見つかっていきました。

 まあ、算出したきっかけは、直感を頼りにしただけの力ずくです・・・。

 もっとスマートな解法は、
   カフェ・プロトマヤ  (長崎総合科学大学HP)にヒントがあります!!

 楽しそうなホームページにリンクさせて貰いました!!(2002.07.20)
   あそびをせんとや (パズル・ゲーム・ブロックなどをいろいろ紹介されています !!)

 Top へ戻る