日期:2014-05-18  浏览次数:20571 次

如何实现这个题,用什么算法
编程(100!+(100+20!))!/60!
如何实现,听说是华为的面试题.高手们,帮帮忙?

------解决方案--------------------
算法不难,我想要是用常人的思维去算能使机器挂掉,我建议从数学的角度看看吧!!
------解决方案--------------------
普通的计算肯定挂掉
------解决方案--------------------
这是算100的阶乘的:
double i,t;
t=1;
for(i=2;i <=100;i++)
t=t*i;
那个题你套用公式就行了么
如果还想再复杂点,你把100设成变量,弄成个方法调用也行。
------解决方案--------------------
题目有没有错?
100+20! 为什么要加括号? 看不出加与不加有什么区别?
去掉100+20!,差不多是 100!!/60!, 60!相对于分子都小到可以忽略不计了
那结果相当于求100!! 
先别说怎么算法
估计一下4G的内存能不能放下这个数 (假设一个字节保存一个十进制数的话)