未解決な素因数分解
命題
n を正の整数とする。任意の n について
(10^{n}*1198 -1)/9
は合成数である。
本日気になってあちこち調べまくりましたが
どうやら未解決のようです。
2000 以下の n については合成数と判明していて 2001 から 2500 までの範囲では、下記の図に登場している n 以外で合成数と判明しています。下記図の n については合成数か素数かについてわかっていないようです。
133の後に1をn個続けて素数になる最小のnは2890ですから、それらの値はすべて合成数とわかっています。
実際、それらの値をPari/GPでisprime((10^2248*1198-1)/9)のように調べると、すべて(1秒以内で)0(つまり合成数)と判定されます。
参考: https://oeis.org/A069568
↑このページのデータは私が2023年にa(119)~a(602)を追加するまではa(1)~a(118)までしかありませんでした。
603の後に1を何個続けると素数になるかは、おそらく誰もわかっていないと思います。
(少なくとも30万個までは合成数でした。)
らすかるさん、偉業ですね。
※ (11980000*(1000000^(n))-1)/9 → 実はこちらの変種でもがいておりました。(゜o゜;
a(603) が不明とのこと、大変に心惹かれます。
白状しますと
MAGMA で以下のコードで走らせて素数がみつかっていなかったので悲しいです。
for n in [4000] do
p := (1198 * 10^n - 1) div 9;
if IsPrime(p) then
printf "n = %o, candidate = %o\n", n, p;
end if;
end for;
Python で下記を走らせたところ、たしかに、
n = 2890 で素数となりました。
from sympy import isprime
# n を 2889 から 2891 の範囲で調べる
n_range = range(2889, 2892)
# 結果を格納する変数
prime_results = []
for n in n_range:
P_n = (1198 * 10**n - 1) // 9 # 整数値を計算
if isprime(P_n):
prime_results.append((n, P_n)) # n とその素数を記録
prime_results # 結果を出力
> ※ (11980000*(1000000^(n))-1)/9 → 実はこちらの変種でもがいておりました。(?゜?o?゜?;
(10^n*1198-1)/9 は
nが奇数のとき11で割り切れ、
n≡0 (mod 6)のとき7で割り切れ、
n≡2 (mod 6)のとき3で割り切れますので、
素数になるとしたら
n≡4 (mod 6)しかありません。
それを表したのが
(11980000*(1000000^(n))-1)/9
ですね。
(つまり「変種」すなわちこの形にならない(10^n*1198-1)/9は合成数なので、調べる必要がないということです)
n=2890の次に素数になるのはn=17710でした。
ただし、n=17710のときの値は確率的素数です。
らすかるさん、有難うございます。
C言語で組まれていますか?
はい、C言語です。
らすかるさん、
御回答をありがとうございました。