原帖由 drowsyboy 于 2007-5-31 18:13 发表
记得以前在CU上看到过,有关大数阶乘计算的文章,这道题目应该没有那么难,给各位大人小练一下。
题目是这样的:
写一个程序,接受两个输入比如 12!!!!! 和 3!!!!,这里输入,一定是由一个大于0的 ...
原帖由 drowsyboy 于 2007-5-31 18:13 发表
记得以前在CU上看到过,有关大数阶乘计算的文章,这道题目应该没有那么难,给各位大人小练一下。
题目是这样的:
写一个程序,接受两个输入比如 12!!!!! 和 3!!!!,这里输入,一定是由一个大于0的 ...
原帖由 ypxing 于 2007-5-31 18:23 发表
说清楚了,感觉是挺简单的
原帖由 MMMIX 于 2007-5-31 18:25 发表
说说详细算法吧。
原帖由 ypxing 于 5/31/2007 18:33 发表
说说我的想法吧,
这么大的数,我会选择用字符串表示
比如"4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
有两个这样的数的话,
比如3!!!!和5!!!
我会先比较它们!的个数
然后,我会比较3! 和5 ( ...
原帖由 ypxing 于 2007-5-31 18:33 发表
说说我的想法吧,
这么大的数,我会选择用字符串表示
比如"4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
有两个这样的数的话,
比如3!!!!和5!!!
我会先比较它们!的个数
然后,我会比较3! 和5 ( ...
原帖由 doni 于 2007-5-31 18:32 发表
12!!!!! 和 3!!!!
应该就是比12!和3吧
原帖由 namei 于 2007-5-31 18:39 发表
汗
要不咱先估计一下4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!有多少十进制位
原帖由 MMMIX 于 2007-5-31 18:39 发表
没错,楼主的问题可以简化为如下:
给定正整数 n1, n2, 问当什么情况下 n1 >= n2!...! ? (假设有 n 个 !,n 为正整数)
这个问题怎么解决呢?
原帖由 ypxing 于 2007-5-31 18:44 发表
这个问题这样解决,
求满足n3!<n1<n4!的最大的n3和最小的n4
n3和n4是比较好求的,
然后再进行比较
原帖由 MMMIX 于 2007-5-31 19:28 发表
感觉距离解决遥之又遥。
原帖由 ypxing 于 2007-5-31 19:34 发表
如果n1是个任意大的数,大过计算机对整数的表示能力,就比较难解决
但如果n1小于等于计算机对整数的表示能力,问题很简单
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |