给定一个整数N,那么N的阶乘N!末尾有多少个0
2017-07-21 14:03
295 查看
题目:给定一个整数N,那么N的阶乘N!中末尾共有多少个0?
看到这个题目可能很常规的想法就是将N的阶乘先求出来,再计算这个数的末尾0的个数。但是一个整数也就是一个整型,一个整型的大小是4个字节,所以此时需要考虑整型N的阶乘可能会溢出,所以这种做法是有一定风险的。
这时我们就应该考虑有没有什么办法可以不用求出该数的阶乘来计算。
我们可以从小于N的数中相乘得到10的个数来计算,所以我们需要计算N的阶乘中有多少是2和5相乘的结果。要求出N!的末尾0的个数就要求出2和5分别的次方数,在阶乘中5出现的概率比2少,所以以5来计算
方法1:计算阶乘中每个元素包含5的个数
方法2:
看到这个题目可能很常规的想法就是将N的阶乘先求出来,再计算这个数的末尾0的个数。但是一个整数也就是一个整型,一个整型的大小是4个字节,所以此时需要考虑整型N的阶乘可能会溢出,所以这种做法是有一定风险的。
这时我们就应该考虑有没有什么办法可以不用求出该数的阶乘来计算。
我们可以从小于N的数中相乘得到10的个数来计算,所以我们需要计算N的阶乘中有多少是2和5相乘的结果。要求出N!的末尾0的个数就要求出2和5分别的次方数,在阶乘中5出现的概率比2少,所以以5来计算
方法1:计算阶乘中每个元素包含5的个数
方法2:
相关文章推荐
- 求0个数--给定一个整数N,那么N的阶乘N!末尾有多少个0呢?
- 给定一个整数N,那么N的阶乘N!末尾有多少个零呢?
- PKU1401:给定一个整数N,那么N的阶乘N!末尾有多少个0。
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?求N!的二进制表示中最低位1的位置。
- 实现一颗二叉树的层序遍历/给定一个整数N,那么N的阶乘N!末尾有多少个0呢
- 给定一个整数N,那么N的阶乘N!末尾有多少个零呢?
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0。
- 给定一个整数N,那么N的阶乘N!末尾有多少个零呢?
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3628800,N!的末尾有两个0。
- 给定一个整数N,那么N的阶乘N!末尾有多少个0
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0。
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0。
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?
- 编程之美 给定一个整数N,那么N的阶乘N!末尾有多少个0?
- 给定一个整数N,求N的阶乘N!末尾有多少个0?
- 给定一个整数N,那么N!末尾有多少了0
- 给定一个整数N,求它的阶乘末尾有多少个0呢?
- 【编程之美】给定一个整数N,求N!末尾有多少个0