回 帖 发 新 帖 刷新版面

主题:用链表怎么求大数阶乘??望大家指点!!

用链表怎么求大数阶乘??望大家指点!!

回复列表 (共6个回复)

沙发

用每一个节点储存一位数

板凳

链表是解决大数的存储问题。解决这个问题后,只要逐个整数相乘就可以了(乘法过程中会有进位需要解决)

3 楼

还是不很明白!!
小弟不才
还望详教啊啊啊啊啊啊啊啊啊啊

4 楼

用链表实现太慢了,用动态数组好一些。基本思想,根据stirlin公式计算出结果的长度,然后用malloc(c)/new(c++)分配适当的空间进行计算。用于数组的优点的占用空间小,可随机访问。

5 楼

liangbch,经常在csdn上见到你的身影,第一次看见你到这个论坛上来啊。

6 楼

[quote]还是不很明白!!
小弟不才
还望详教啊啊啊啊啊啊啊啊啊啊[/quote]
举个例子,假设一个结点存放一位,现在已知7!(5040)
现有结果链表: 5->0->4->0
              *         8
         =>   40->0->32->0
         =>   40->3->2->0  (进位处理)
         => 4->0->3->2->0   (此即8的阶乘40320)

我来回复

您尚未登录,请登录后再回复。点此登录或注册