算法求n个数相乘的末尾有几个零
时间: 2024-01-26 15:03:55 浏览: 67
要求n个数相乘的末尾有几个零,就是要求这n个数中因子5的个数。因为一个数末尾有几个零,就是因为它里面有几个因子10,而10=2*5,因此末尾有几个零就是因子2和因子5的个数中较小的那个数。
因此,我们只需要统计这n个数中因子5的个数即可。具体做法是,对于每个数,不断将它除以5,直到除不尽为止,这个过程中因子5的个数就是答案。然后将所有数的因子5的个数加起来,就是n个数相乘末尾的零的个数。
以下是一个示例代码:
```python
def count_zeros(nums):
cnt = 0
for num in nums:
while num % 5 == 0:
cnt += 1
num //= 5
return cnt
nums = [5, 10, 15, 20]
zeros = count_zeros(nums)
print(zeros) # 输出 3,因为这四个数相乘的末尾有3个零
```
阅读全文