うえぽんSW局

古いタイプの日記ブログです。気まぐれに更新してます。

タグ:数学

 今日2002年2月2日は8桁の数字で表すと20200202で上から見ても下から見ても同じになる回文になっていたりする。

 それならばと他にも同様の回文になる日付はないかと調べてみた。

 まず未来方向へは、
 20211202
 20300302
 20400402
 20500502
 20600602
 20700702
 20800802
 20900902
 21011012
 21100112
 21111112
 :
 :
 となっている。
 次回は来年の2021年12月2日で、その次以降は約10年ごとに出現する。

 今度は過去の方向へ調べてみると、
 20111102
 20100102
 20011002
 13800831
 13700731
 13500531
 :
 :
 となっている。
 前回は2011年11月2日は良いとして、2001年以前は1380年まで遡らないと存在しない。
 なんと日付の回文は21世紀になって7世紀ぶりに復活したことになる!
 地味にすごい。


■メッセージへの返事
 ついでになりますが、ブログ横の投稿フォーム(PC版の表示だと存在する)から送られて来たメッセージへの返事です。
 ブログ横にあるホームページのリンクが間違っていたのを修正しました。
 ご指摘ありがとうございます。
このエントリーをはてなブックマークに追加

 今年もいつのまにか大晦日になっていました。
 ブログの更新を怠っていたので、おっとり刀で数学の雑学を披露しようかと思います。
 この雑学はネット検索してもあまり見受けられないので、あまり知られてないのかもしれません。


         343 = 7 * 49
        33433 = 67 * 499
       3334333 = 667 * 4999
      333343333 = 6667 * 49999
     33333433333 = 66667 * 499999
    3333334333333 = 666667 * 4999999
   333333343333333 = 6666667 * 49999999
  33333333433333333 = 66666667 * 499999999
 3333333334333333333 = 666666667 * 4999999999
333333333343333333333 = 6666666667 * 49999999999
          :
          :
          :

         323 = 17 * 19
        33233 = 167 * 199
       3332333 = 1667 * 1999
      333323333 = 16667 * 19999
     33333233333 = 166667 * 199999
    3333332333333 = 1666667 * 1999999
   333333323333333 = 16666667 * 19999999
  33333333233333333 = 166666667 * 199999999
 3333333332333333333 = 1666666667 * 1999999999
333333333323333333333 = 16666666667 * 19999999999
          :
          :
          :

         101 = 1 * 101
        11011 = 11 * 1001
       1110111 = 111 * 10001
      111101111 = 1111 * 100001
     11111011111 = 11111 * 1000001
    1111110111111 = 111111 * 10000001
   111111101111111 = 1111111 * 100000001
  11111111011111111 = 11111111 * 1000000001
 1111111110111111111 = 111111111 * 10000000001
111111111101111111111 = 1111111111 * 100000000001
          :
          :
          :

         121 = 11 * 11
        11211 = 111 * 101
       1112111 = 1111 * 1001
      111121111 = 11111 * 10001
     11111211111 = 111111 * 100001
    1111112111111 = 1111111 * 1000001
   111111121111111 = 11111111 * 10000001
  11111111211111111 = 111111111 * 100000001
 1111111112111111111 = 1111111111 * 1000000001
111111111121111111111 = 11111111111 * 10000000001
          :
          :
          :

 出典及び参考にしたのは以下のページです。
 Puzzle 197. Always composite numbers?

 こうなることの数学的証明は私にはちょっと無理です……。

 少し応用するとこんな雑学になります。

 666667は素数
 4999999も素数
 2つをかけると回文数3333334333333になる

 それでは良いお年を。
このエントリーをはてなブックマークに追加

 今日の日付20170831は素数日です。
 そして明日の日付20170901も素数日です。
 このように2日連続で素数日になるのは珍しく、前回は20020531と20020601だったので15年ぶりとなります。
 ちなみに、次回はおよそ1年後の20180731と20180801なります。2日連続する素数日が1年以内に2回もあるというのはそれはまた珍しいかもしれません。

 (このエントリーは1年前の今日に予約投稿したものです。詳しくはちょうど一年前の今日のエントリーをご覧ください)
このエントリーをはてなブックマークに追加

 ここ一ヶ月ブログを更新していませんでしたが実はパソコンが壊れてました。
 結局新しいパソコンを買うことになりましたが、さて、新マシンになったらまずすることといえば処理に時間の掛かりそうな計算プログラムの実行です。以前よりも速くなったことを確認します。
 そんなわけで素数を探すプログラムを組んでみたわけですが、以下のような3249桁の回文素数を発見しました(分かりやすく57桁ごとに改行してます)。

111111111111111111111111111111111111111111111111111111111
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000303000000000000000000000000001
100000000000000000000000000030000000000000000000000000001
100000000000000000000000000303000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
100000000000000000000000000000000000000000000000000000001
111111111111111111111111111111111111111111111111111111111


 表示ズレしている環境もあるかもしれないので画像にもしてみました(ついでに色も付けてます)。
 ただの回文素数ではなく、57x57の正方形にすると左右や上下にも対称という面白い形になっていることが分かります(残念ながらすべての行と列も素数とまではなっていません)。

prime57x57


 ただし、この素数の判定に用いたのはpythonの拡張モジュールgmpy2にあるis_prime関数(中身はGMPのmpz_probab_prime_p関数)のため、確率的素数ということになります。
 とはいえ乱数で8192回のテストにパスしているのでほぼ間違いなく素数だと思いますが……。
このエントリーをはてなブックマークに追加

 年末年始のことになりますが、次のような記事を見つけたので、素数遊びをしてみました。

 年末年始は難解な素数と遊ぼう 回文素数、レピュニット素数、数素 | JBpress(日本ビジネスプレス)
 (現在、この記事の2ページ目以降は会員登録していないとみられないようです)

 上のページによると、ホネカーという人によって次のような回文素数のピラミッドが発見されているとのこと。

2
30203
133020331
1713302033171
12171330203317121
151217133020331712151
1815121713302033171215181
16181512171330203317121518161
331618151217133020331712151816133
9333161815121713302033171215181613339
11933316181512171330203317121518161333911


 これに興味をそそられたので、これより大きなピラミッドがないかと自分も探してみることにした。
 プログラムを組んで探すだけなので手軽なものだと思っていたが、しかし、最初に見つけた回文素数ピラミッドは次のようなものだった。

2
929
39293
3392933
733929337


 ホネカーのものよりも小さなピラミッドになってしまった。
 自分が組んだプログラムにミスがあったのだろうか? と一瞬思ったものの、ホネカーのピラミッドを見返してみると、ホネカーのものは1段ごとに左右2桁ずつ(合計4桁ずつ)増えていることに気付いた。
 自分が探していたのは左右1桁ずつだった。
 左右1桁ずつだとこの程度の高さのピラミッドにしかならないらしい。

 気を取り直して左右2桁ずつ増えるようにして探索。
 すると次のような回文素数のピラミッドを発見した。これはホネカーのものよりずっと大きい。

5
97579
389757983
3138975798313
15313897579831351
741531389757983135147
9074153138975798313514709
73907415313897579831351470937
907390741531389757983135147093709
3690739074153138975798313514709370963
38369073907415313897579831351470937096383
393836907390741531389757983135147093709638393
7039383690739074153138975798313514709370963839307
71703938369073907415313897579831351470937096383930717
347170393836907390741531389757983135147093709638393071743
9534717039383690739074153138975798313514709370963839307174359
93953471703938369073907415313897579831351470937096383930717435939
799395347170393836907390741531389757983135147093709638393071743593997
3679939534717039383690739074153138975798313514709370963839307174359399763
14367993953471703938369073907415313897579831351470937096383930717435939976341
761436799395347170393836907390741531389757983135147093709638393071743593997634167
1776143679939534717039383690739074153138975798313514709370963839307174359399763416771
70177614367993953471703938369073907415313897579831351470937096383930717435939976341677107
787017761436799395347170393836907390741531389757983135147093709638393071743593997634167710787
3878701776143679939534717039383690739074153138975798313514709370963839307174359399763416771078783
94387870177614367993953471703938369073907415313897579831351470937096383930717435939976341677107878349
149438787017761436799395347170393836907390741531389757983135147093709638393071743593997634167710787834941
3314943878701776143679939534717039383690739074153138975798313514709370963839307174359399763416771078783494133
99331494387870177614367993953471703938369073907415313897579831351470937096383930717435939976341677107878349413399


 当ブログの横幅の関係でうまく表示できていないかもしれないので、画像にしたものも用意してみました。クリックすると見られます。
 回文素数のピラミッド

 同じものを発見した人がいないかとGoogle検索してみたところ、次の2件だけ発見。

 ・number theory - Origins of the conjecture on the existence of infinitely many palindromic primes - Mathematics Stack Exchange
 ・burde_27_analytic_nt_course.pdf(PDF注意)

 このどちらもが自分が発見したものより少し低いピラミッドとなっている。最後の6段ほどがない。
 これは最後まで探索できなかったのか、それとも自分の方が間違っている可能性がある。
 しかし自分のはGNU Multi-Precision Library(GMP)の関数mpz_probab_prime_p()で65536回ものミラーラビン素数判定をパスしているから、間違いということはないと思うのであるが……。
このエントリーをはてなブックマークに追加

↑このページのトップヘ