笔试常见的“阶乘”编程题,你写对了么?

      在笔试中,我想很多人都会遇到阶乘的编程题。今天突然想起自己的第一次笔试,就遇到了这样的题,还没在电脑上敲过。就随便来写一下,不知道大家在笔试的时候都写对了么?
      很多人可能都会用int ,double之类的类型来存储结果,可是这样就很容易出现溢出的情况,不信您来试试100的阶乘!
      其实回头想想,如果当初这个我用Perl,然后用bigint类型写也许就不用这么麻烦了。 而且Erlang貌似也有个阶乘模块可以直接写。先抛开这些不谈,用Java,C#之类的强类型语言,我们就要考虑溢出的情况,于是就有了以下的代码。
      不过我刚才求了一次12345的阶乘,结果发现速度很慢,希望大家指教有没有什么效率更高一些的算法。

Code
posted @ 2009-10-05 17:58  飞林沙  阅读(4702)  评论(25编辑  收藏  举报