梦殇国际
标题:
解:10000的阶乘末尾有多少个0?
[打印本页]
作者:
阿星
时间:
2015-10-20 12:45
标题:
解:10000的阶乘末尾有多少个0?
下面的代码大概可以实现,我也是网上搜的一个朋友遇到的java面试题中的其中一个
package com.hisen.test;
public class JC {
public static void main(String[] args) {
int x = 10000;
int count = 0;
while (x>0)
{
count = count + x / 5;
x = x / 5;
}
System.out.println(count);
}
}
复制代码
利用到了一个数学知识
令f(x)表示正整数x末尾所含有的“0”的个数,则有:
当0 < n < 5时,f(n!) = 0;
当n >= 5时,f(n!) = k + f(k!), 其中 k = n / 5(取整)。
通俗的解释就是:
求5...所有5都被2拉去产生0了
但是我还是不是很明白,有数学好的没?
找到了答案:
http://blog.chinaunix.net/uid-20766194-id-1850404.html
作者:
天才小肥熊
时间:
2015-10-20 12:51
数学渣
作者:
小慕容
时间:
2015-10-20 13:11
大赞
作者:
我全都想要
时间:
2015-10-20 13:16
看不懂啊
作者:
磊
时间:
2015-10-20 13:27
卧槽,那么短的代码
作者:
smoke
时间:
2015-10-20 14:09
看不懂
作者:
阿星
时间:
2015-10-20 16:33
smoke 发表于 2015-10-20 14:09
看不懂
难不成您不在阶乘是什么?
作者:
血染丶星辰
时间:
2015-10-20 18:13
我会算1+2=4的算术
作者:
smoke
时间:
2015-10-20 18:32
阿星 发表于 2015-10-20 16:33
难不成您不在阶乘是什么?
我是学渣
欢迎光临 梦殇国际 (https://714.hk/)
Powered by Discuz! X3.4