bn应该是大概估计了2^n的长度上限.用于后面放缩.
a是偶数,k>bn 必然有2^bn整除a^k ,
当m≥bj 时 10^m 是 2^m的倍数,同时也是2^bj的倍数,
所以a^k表示的后半截 c[bj]*10^bj+c[bj+1]*10^(bj+1)..... 也是2^bj的倍数.
a^k本身也是2^bj的倍数,所以其前半截 c[0]+c[1]*10+....+c[bj-1]*10^(bj-1)也是 2^bj的倍数.
后面就是说若 c[b[j-1]] 到c[bj-1]若全是0,那么前半截<10^b[j-1]
放缩就用在此处.
注意 b[j]=1+[log[2](10)×b[j-1]]>log[2](10)×b[j-1]
因此有 2^b[j]>2^(log[2](10)×b[j-1]) =10^b[j-1]
因此前半截<10^b[j-1]<2b[j],矛盾.
a是偶数,k>bn 必然有2^bn整除a^k ,
当m≥bj 时 10^m 是 2^m的倍数,同时也是2^bj的倍数,
所以a^k表示的后半截 c[bj]*10^bj+c[bj+1]*10^(bj+1)..... 也是2^bj的倍数.
a^k本身也是2^bj的倍数,所以其前半截 c[0]+c[1]*10+....+c[bj-1]*10^(bj-1)也是 2^bj的倍数.
后面就是说若 c[b[j-1]] 到c[bj-1]若全是0,那么前半截<10^b[j-1]
放缩就用在此处.
注意 b[j]=1+[log[2](10)×b[j-1]]>log[2](10)×b[j-1]
因此有 2^b[j]>2^(log[2](10)×b[j-1]) =10^b[j-1]
因此前半截<10^b[j-1]<2b[j],矛盾.