发新话题
打印【有0个人次参与评价】

[数学] 老姜三年级班即将考试,将有少量插班名额

100!=0(mod 2^25)
100!=k*5^24(mod 5^25)
尾数为 1,2,3,4,,6,7,8,9由于1*2*3*4*6*7*8*9=1(mod 5)
尾数为5去掉5的因子1*3*1*7*9*11*13*3*17*19=3(mod 5)
尾数为0去掉5的因子2*4*6*8*2*12*14*16*18*4=3(mod 5)
因此k=4
设倒数第25位为m,那么m*10^24=(mod 2^25) =>m=0(mod2)
m*10^24=4(mod 5^25) =>m*2^24=4 (mod 5)=>m*1=4(mod 5)
因此m=4.

TOP

回复 238#xyq2100 的帖子

这个方法稍做调整可以更简单:
100!=0(mod 2^25)
100!=k*5^24(mod 5^25)
由于1*2*3*4=-1 (mod 5)
100以内不被5整除的乘积 (mod 5)=(-1)^20 (mod 5)
被5整除而不被25整除1去掉5的因子后 (mod 5)=(-1)^4 (mod 5)
被25整除去掉5的因子(mod 5)=(-1) (mod 5)
因此k(mod 5)=(-1)^25(mod 5)=4 (mod 5)
设倒数第25位为m,那么m*10^24=0(mod 2^25) =>m=0(mod2)
m*10^24=4(mod 5^25) =>m*2^24=4 (mod 5)=>m*1=4(mod 5)
因此m=4

这个方法的好处在于n较大时容易计算
例如n=1000  
1000!后有[1000/5]+[1000/25]+[1000/125]+[1000/625]=249
那么倒数第250位是?
1000!=0(mod 2^250)
1000!=k*5^249(mod 5^250)
由于1*2*3*4=-1 (mod 5)
1000以内不被5整除的乘积 (mod 5)=(-1)^200 (mod 5)
被5整除而不被25整除1去掉5的因子后 (mod 5)=(-1)^40 (mod 5)
被25整除而不被125整除去掉5的因子后 (mod 5)=(-1)^8 (mod 5)
被125整除而不被625整除去掉5的因子后 (mod 5)=1*2*3*4*6*7*8=-1 (mod 5)
被625整除去掉5的因子后 (mod 5)=1 (mod 5)
因此k(mod 5)=(-1)^249 (mod 5)=4 (mod 5)
设倒数第250位为m,那么m*10^249=0(mod 2^250) =>m=0(mod2)
m*10^249=4(mod 5^250) =>m*2^249=4 (mod 5)=>m*2=4(mod 5)=>m=2 (mod 5)
因此m=2


这个方法也可以计算倒数两位非零数字
1.(5k+1)(5k+2)(5k+3)(5k+4)=(5k+1)(5k+4)(5k+2)(5k+3)=(25k^2+25k+4)(25k^2+25k+6)=24 =-1(mod 25)
100!=0(mod 2^26)
100!=k*5^24(mod 5^26)
100以内不被5整除的乘积 (mod 25)=(-1)^20 (mod 25)
被5整除而不被25整除1去掉5的因子后 (mod 25)=(-1)^4 (mod 25)
被25整除去掉5的因子(mod 25)=(-1) (mod 25)
因此k(mod 5)=(-1)^25(mod 5)=24 (mod 5)
设倒数第25,26位为m(0<m<100),那么m*10^24=0(mod 2^26) =>m=0(mod4)
m*10^24=24(mod 5^26) =>m*2^24= 24 (mod 25)
=>m*16=24(mod 25)=>m*2=3(mod 25)=> m*2*13=3*13 (mod 25)=>m=14 (mod25)
因此m=64.

TOP

发新话题