最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

1x2x3x…x100末尾有几个0

IT圈 admin 67浏览 0评论

2024年5月6日发(作者:戈绣)

正解的是:末尾有24个0。

方法一:

乘积会产生0的,就是2的倍数与5的倍数相乘产生的,如8×15=120,

等等。在1到100之中,2的倍数多于5的倍数,所以只需找出5的

因子有多少个,那么末尾就有多少个0。在1到100之中,5的倍数

共有100÷5=20个,其中25的倍数有100÷25=4个,所以只含有一

个因子5的倍数有20-4=16个,这16个与2的倍数相乘只会产生一

个0,共产生16个0;而25的倍数有25、50、75、100这四个,每

个与4的倍数相乘都会产生两个0,这样共会产生8个0。

所以

末尾0的个数是:16+8=24个。

方法二:

100÷5=20

20÷5=4

在1到100之中,5的因子共有20+4=24个,所以末尾有24个0。

这种方法可以推广到:1×2×3×4×5×6×...×n,它的末尾有多少

个0的算法是:

用n÷5,商取整数,

再用该整数去除以5,商也是取整数,

不断的除以5,直到所得的商取整数后小于5为止。将全部的商加起

来,得数就是0的个数。

例如:上题100÷5=20,20÷5=4,所得商4小于5,所以不用再除了,

全部的商之和为:20+4=24,这就是0的个数。

方法三:

经过分析直接使用代码:

1.

2.

3.

4.

5.

6.

def zero_num(n):

num = 0

while True:

n = int(n / 5)

if n == 0:

break

7.

8.

9.

10.

11.

num = num + n

return num

if __name__ == "__main__":

print("100!末尾0的个数为:" + str(zero_num(100)))

运行结果:

2024年5月6日发(作者:戈绣)

正解的是:末尾有24个0。

方法一:

乘积会产生0的,就是2的倍数与5的倍数相乘产生的,如8×15=120,

等等。在1到100之中,2的倍数多于5的倍数,所以只需找出5的

因子有多少个,那么末尾就有多少个0。在1到100之中,5的倍数

共有100÷5=20个,其中25的倍数有100÷25=4个,所以只含有一

个因子5的倍数有20-4=16个,这16个与2的倍数相乘只会产生一

个0,共产生16个0;而25的倍数有25、50、75、100这四个,每

个与4的倍数相乘都会产生两个0,这样共会产生8个0。

所以

末尾0的个数是:16+8=24个。

方法二:

100÷5=20

20÷5=4

在1到100之中,5的因子共有20+4=24个,所以末尾有24个0。

这种方法可以推广到:1×2×3×4×5×6×...×n,它的末尾有多少

个0的算法是:

用n÷5,商取整数,

再用该整数去除以5,商也是取整数,

不断的除以5,直到所得的商取整数后小于5为止。将全部的商加起

来,得数就是0的个数。

例如:上题100÷5=20,20÷5=4,所得商4小于5,所以不用再除了,

全部的商之和为:20+4=24,这就是0的个数。

方法三:

经过分析直接使用代码:

1.

2.

3.

4.

5.

6.

def zero_num(n):

num = 0

while True:

n = int(n / 5)

if n == 0:

break

7.

8.

9.

10.

11.

num = num + n

return num

if __name__ == "__main__":

print("100!末尾0的个数为:" + str(zero_num(100)))

运行结果:

发布评论

评论列表 (0)

  1. 暂无评论