根据OEIS A180340的信息,只需要找到素数p,使得$1/p$的小数部分循环节长度为$p-1$,那么$1/p$的循环节就是一个循环数。
这样的p在OEIS A001913中给出,它等同于要求10为模p乘法群中的生成元。
根据题面的信息,$1/p$应该在$0.00000000137$和$0.00000000138$之间,由此可得p在724637681和729927007之间。
遍历此范围内的数并检验以上条件很快就能求得最终结果$3284144505$。
注:以下代码使用sympy库的is_primitive_root和isprime函数来分别检验10是否是模p乘法群中的生成元以及p的素性,因此代码为Python 3。
from sympy import is_primitive_root,isprime
for p in range(724637681,729927008,2):
if 56789*p%100000==99999 and isprime(p) and is_primitive_root(10,p):
print(f"p={p}, the answer is {(p-1)//2*9}")
break
|