1*2*3*4*…*n的乘积末尾有20个零,n的最小值是多少?

来源:百度知道 编辑:UC知道 时间:2024/09/23 17:14:39
写出算式!

1*2*3*4*…*n的乘积末尾的0的个数m,有以下计算通式

m=[n/5]+[n/5^2]+[n/5^3]+...

[x] 表示不超过x的最大整数,比如[2.3]=2
显然x-1<[x]<=x
公式中后面的省略号表示[n/5^k]
其实当k足够大时,比如比如满足5^k>n时 后面的项就都是0了,所以实际上只有有限多项。

针对本题
是已知m=20,求n的
显然20=m>=[n/5]>n/5-1
so n<105 的
so 5^3=125>n 了
所以实际上
20=m=[n/5]+[n/25]

下面的解法有两种,一种是因为[x]是递增的,你可以简单去尝试
有n=85时
[85/5]+[85/25]=17+3=20
[84/5]+[84/25]=16+3=19
所以最小的n是85

也可以利用
x-1<[x]<=x
所以
n/5+n/25-2<20=m=[n/5]+[n/25]<=n/5+n/25
20<=6n/25<22
so 83.3<=n<91.6 确定一个范围
然后去试得到n=85

该法的好处是随便m换成一个较大的数,比如有100个0的时候也可以同样做。

而且倒过来
已知n的时候去算末尾有几个0的时候也很方便
例如 1*2*...*1000 末尾有几个0
m=[1000/5]+[1000/25]+[1000/125]+[1000/625]
=200+40+8+1
=249
个0

解:100=5×5×4
即:2个〇必须有两个5(有2个5,肯定有2个2)
故:20个零必须包含20个含5的因数
按照数字的排列顺序,因数必须包含以下各因数5、10、15、20、25、30、35、40、45、