补上面评论区的内容,超过1000字符了发不了评论,只能发回复了
单就1/19而言,其实也不用全算出来。
以下仍然是推导,看结论直接到最后
我们刚才说明了,奇素数 $p$ 是走马灯数当且仅当 $10$ 是 $p$ 的原根。
这就意味着,$\forall1\le x\le p-2, p\nmid 10^x-1$。
考虑 $p\neq 5$。由费马小定理,$p\mid 10^{p-1}-1$,
假设 $10$ 不是 $p$ 的原根,设 $p\mid 10^x-1$,$1\le x\le p-2$,
则由Bezout定理,存在 $m,n\in \Z$,使得 $m(p-1)+nx=\gcd(p-1,x)$。
从而 $10^{\gcd(p-1,x)}\equiv (10^{p-1})^m\cdot(10^x)^n\equiv 1^m\cdot 1^n\equiv 1(\mod p~~)$。
显然 $\gcd(p-1,x)\mid p-1$,
且由于 $1\le x\le p-2$,有 $\gcd(p-1,x)\le x\le p-2\lt p-1$。
从而 $\gcd(p-1,x)\neq p-1$。故存在 $k\in \N^*$ 且 $k\ge 2$,使得 $k\gcd(p-1,x)=p-1$。
此时 $k$ 存在素因数 $q$,则 $\gcd(p-1,x)\mid\displaystyle\frac{p-1}{q}$。
设 $\displaystyle\frac{p-1}{q}=l\cdot \gcd(p-1,x)$。
则 $\displaystyle10^{\frac{p-1}{q}}\equiv(10^{\gcd(p-1,x)})^l\equiv1^l\equiv 1(\mod p~~)$。
$\color{red}{\LARGE{以下是结论}}$
故若 $p$ 不是走马灯数,则存在一个 $p-1$ 的素因子 $q$,
使得 $\displaystyle 10^{\frac{p-1}{q}}\equiv1(\mod p~~)$。
取逆否,知若所有 $p-1$ 的素因数 $q$ 都满足 $p\nmid 10^{\frac{p-1}{q}}-1$,则 $p$ 是走马灯数。
对于 $p=19$ ,由于 $18$ 的素因数仅有 $2,3$,我们只需考虑 $10^6$ 和 $10^9$ 除以19的余数。
$10^3\equiv 1000\equiv 950+38+12\equiv 12(\mod 19~~)$;
$10^6\equiv 12^2\equiv 144\equiv 133+11\equiv 11(\mod 19~~)$;
$10^9\equiv 11\times 12\equiv 132\equiv18(\mod 19~~)$。
从而 $10^6$ 和 $10^9$ 除以 $19$ 的余数都不为 $1$,故19是走马灯数。
当然,19本身不算特别大,因此还可以通过观察循环节得到结果。但对于更大的数,这一方法就要快捷的多。而且其还可以用于设计程序,时间复杂度应为 $O(\sqrt{p})$(主要是分解素因数需要的时间,计算乘方的时间复杂度要小得多)