MENU
349,154

スレッドNo.2516

未解決な素因数分解

命題
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万個までは合成数でした。)

引用して返信編集・削除(編集済: 2025年03月06日 08:12)

らすかるさん、偉業ですね。

※ (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は合成数なので、調べる必要がないということです)

引用して返信編集・削除(編集済: 2025年03月06日 14:43)

n=2890の次に素数になるのはn=17710でした。
ただし、n=17710のときの値は確率的素数です。

引用して返信編集・削除(未編集)

らすかるさん、有難うございます。
C言語で組まれていますか?

引用して返信編集・削除(未編集)

はい、C言語です。

引用して返信編集・削除(未編集)

らすかるさん、
御回答をありがとうございました。

引用して返信編集・削除(未編集)

このスレッドに返信

ロケットBBS

Page Top