【自守数】(在十进位制中,) 若一个 k 位正整数 N (可含前置 "0" ), 若满足如下性质: 任意两个或多个均以该字串 N 结尾的整数相乘, 其结果的最后 k 位数字一定还是 N, 那么, 则称 N 为 "k 位自守数".
我们有结论:
如果x是k位自守数,那么
(x^2-1)^2 mod 10^(2k) 是2k位自守数。
关于整数的乘法,
假设N位L进制数
A= a0+a1*L+a2*L^2+...+a(N-1)*L^(N-1)
B=b0+b1*L+b2*L^2+...+b(N-1)*L^(N-1)
C=A*B=(a0*b0)+(a0*b1+a1*b0)*L+...+a(N-1)*a(N-1)*L^(2*N-2)
我们可以看到C的每个系数同卷积非常象
如果我们在A同B后面都添加N项0,
也就是A=a0+a1*L+...+a(2N-1)*L^(2N-1)
B=b0+b1*L+...+b(2N-1)*L^(2N-1)
其中a(N),a(N+1),...,a(2N-1);b(N),b(N+1),...,b(2N-1)都是0
那么
C=(a0*b0+a1*b(2N-1)+...+a(2N-1)*b1)+
(a0*b1+a1*b0+a2*b(2N-1)+...+a(2N-1)*b2)*L+
...+
(a0*b(2N-1)+a1*b(2N-2)+...+a(2N-1)*b(0))*L^(2N-1)