计算非常大的阶乘的最有效方法

问题描述

我知道算法使用学校数学来计算非常大的阶乘,我们会不断存储数字,将下一个数字乘以每个存储的数字,不断更新数字,处理进位等。

现在,我想问一问使用单链表实现此算法是否最有效 或使用双链表。

如果我们使用单链接列表并以相反的顺序存储数字的数字,就像这样

123456

存储为

6 -> 5 -> 4 -> 3 -> 2 -> 1

链接列表中。继续使用这种方法来计算阶乘非常容易,但是在打印结果时,由于我们不能在单链列表中向后移动,因此必须迭代列表多次(O(n ^ 2))。

那么,我们应该使用双链表在空间和时间复杂度上获得更好的效率吗? 我的意思是,值得这样做。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)