100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > N!末尾有多少个零

N!末尾有多少个零

时间:2020-05-18 20:06:43

相关推荐

N!末尾有多少个零

题目一:210!最后结果有几个零。

请自己思索10分钟以上再看解释

凡是这种题目必有规律可言, 关键是你找到这个规律的恒心。可采用笨拙的方法思考。

1! = 1---- 无0

2! = 2 * 1! = 2 ---- 无0

3! = 3 * 2! = 6 ---- 无0

4! = 4 * 3! = 24

5! = 5 * 4! = 120 有了一个零

思考这个0是怎么出现的------------ 5与一个偶数相乘得到的结果

这个就是规律

10! = 2*5 * 9! -------------再出现一个0

15! = 3*5 * 14! -------------再出现一个0

..

25! = 5*5 * 24! --------------这里出现两个0

125! = 5*5*5*5 *124! ---------------出现四个零

结果末尾有多少个0的问题可以转换为N!乘式中可以分解出多少个5的问题.因为5和其前面的任何一个偶数相乘都会产生0

如果口算:

在由1到N的数中共可以分解出多少个5.例如25!,可以分解出5(1×5)、10(2×5),15(3×5),25(5×5),共可以分解出5个5,所以25!末尾有5个0;

上代码:

int ZeroNum(int n){int j,num=0;for(int i=n;i>1;i--){j=i;while(j%5==0){num++;j/=5; } }return num;}

很好理解了吧

题目二:1!+2!+3!+4!+……+100!最后结果个位数字是几?

好算了吧,5!以后末尾都是零,所以 为1! + 2! +3! +4! 的末位值

问题三:求N!的二进制表示中最低位1的位置?

由十进制数转换为2进制数的过程知要求求N!的二进制表示中最低位1的位置,即求乘因式中含有2的个数.

int ZeroNum(int n){int j,num=0;for(int i=n;i>1;i--){j=i;while(j%2==0){num++;j/=2; } }return num;}

分析分析吧

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。