解决方案 »

  1.   

    大数的阶乘,一般不用普通的算法算!建议去算法区问问!
      

  2.   

    这个问题碰到过,嘿嘿!
    递归是对的,关键问题还是中间结果超过数据类型的最大值的问题。可以这样处理:中间结果按数据类型的最大值的长度分段保存在字符串中。中间结果与其他数相乘转化为各字符串与其他数相乘,然后相应移位,再相加的过程。
      

  3.   

    试下将其转换成二进制,然后自己写个类模拟运算器的运算,会很好玩的
      

  4.   

    我的一些看法:定义一个足够大的数组(我想50000差不多了吧),然后根据乘法的简单的性质进行逐位的相乘、进位,例如3^5,现做3*3进位(当然这里不用),再9*3进位,再27*3进位…… 如此这样当然这样绝对够麻烦,你可以尝试不用一位一位的进,而是4位、5位一进。乘好后将数组里的数字逐个打印出以上的方法应该是最呆的一种,还请大家给出更好的算法!!!另外,楼主提到的“如何计算100000的阶乘……” 我想不必了吧 心算都清楚:)
      

  5.   

    啊 看错了 大家不要踩我 方才把 阶乘看成乘方了!!!
      

  6.   

    嘿咻嘿咻…… 正在被自己的无知蹂躏, 不过算法还是差不多的ps:   这上面怎么没有删除自己帖子的功能的呢? 好没面子哦
      

  7.   

    用整数比用浮点数要精确
    不过100000的阶乘是很大的数
    怕是没有合适的数据类型来容纳