通过简单模拟也可以观察出以下规律:
$$g(n)=1-m+10^m+\sum_{i=1}^{m-1}\chi(i)10^i$$
其中m是n的长度,$\chi(i)$在n的前i位与后i位相同时取1,否则为0。
汇总计算即得结果$542934735751917735$。
注:本题的严格证明需要一些鞅理论,有些网友指出在《具体数学》(Concrete Mathematics,作者:R.Graham, D.Knuth, O.Patashnik)一书中有本题解法。
r=0
for n in range(2,1000000):
s=str((10**16)/n)
m=len(s)
r+=1-m+10**m+sum(10**i for i in range(1,m) if s[:i]==s[-i:])
print r
|