ここ一ヶ月ブログを更新していませんでしたが実はパソコンが壊れてました。
結局新しいパソコンを買うことになりましたが、さて、新マシンになったらまずすることといえば処理に時間の掛かりそうな計算プログラムの実行です。以前よりも速くなったことを確認します。
そんなわけで素数を探すプログラムを組んでみたわけですが、以下のような3249桁の回文素数を発見しました(分かりやすく57桁ごとに改行してます)。
表示ズレしている環境もあるかもしれないので画像にもしてみました(ついでに色も付けてます)。
ただの回文素数ではなく、57x57の正方形にすると左右や上下にも対称という面白い形になっていることが分かります(残念ながらすべての行と列も素数とまではなっていません)。

ただし、この素数の判定に用いたのはpythonの拡張モジュールgmpy2にあるis_prime関数(中身はGMPのmpz_probab_prime_p関数)のため、確率的素数ということになります。
とはいえ乱数で8192回のテストにパスしているのでほぼ間違いなく素数だと思いますが……。
結局新しいパソコンを買うことになりましたが、さて、新マシンになったらまずすることといえば処理に時間の掛かりそうな計算プログラムの実行です。以前よりも速くなったことを確認します。
そんなわけで素数を探すプログラムを組んでみたわけですが、以下のような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
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の正方形にすると左右や上下にも対称という面白い形になっていることが分かります(残念ながらすべての行と列も素数とまではなっていません)。

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