求10000!

RichardStevens 2002-12-11 12:28:18
请注明算法和流程图(简略即可),还有实现的程序。
若有参考资料,也请注明出处。以备参考。
...全文
69 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
RichardStevens 2002-12-14
  • 打赏
  • 举报
回复
谢谢你推荐的网址,Solstice!
陈硕 2002-12-13
  • 打赏
  • 举报
回复
Intel 386以上就是32-bit了,我用VC6.0、BCC5.5、G++3.2实测int的长度均为4bytes.
ToUpdate 2002-12-13
  • 打赏
  • 举报
回复
up
RichardStevens 2002-12-13
  • 打赏
  • 举报
回复
本帖子的用意是提醒各位,
注意程序设计中数据类型和内存的有限性,
这两点,在现代程序设计中被大多数“程序员”给忽略了!
这是高级语言带来的优势,同时也带来了“灾难”。
RichardStevens 2002-12-13
  • 打赏
  • 举报
回复
我要结帐了。有一些要指出:
Solstice由于写出了程序,得最高;pick等提出了可行的算法,平分剩余分。
谢谢各位的参与。
还有就是IntelX86的机子字长是16,所以其上的INT只能有2个字节,要注意啊!
RichardStevens 2002-12-13
  • 打赏
  • 举报
回复
谢谢Solstice的建议!(你的名字在英文中的意思是“至日”,是我昨晚背GRE
单词的时候无意发现的——题外话)
如果您愿意的话,希望能看看pick先生推荐的书中的算法,
我还推荐一本,是Donald.E.Knuth的名著《计算机程序设计艺术》,
其中也有相应的算法,可以来Email探讨探讨。
sk27 2002-12-12
  • 打赏
  • 举报
回复
牛!不过看不懂。
陈硕 2002-12-12
  • 打赏
  • 举报
回复
“求任意范围内的代数运算,如+,-,*,/等”:
www.shoup.net NTL
www.swox.com/gmp GMP
RichardStevens 2002-12-12
  • 打赏
  • 举报
回复
没那么多,但我问,你用过matlab或者mathematics吗?
如果你正在搞图形设计,要求的是“可见面”的问题;
或者你正在搞模式识别,比如“树在风吹动下的摆动”,
上面的程序是否显得简单和低效?而10000!的结果是否又显得太小?
晨星 2002-12-12
  • 打赏
  • 举报
回复
10000的阶!?大概整个地球的原子个数也没那么多吧,求出来又有什么用?^_^
RichardStevens 2002-12-12
  • 打赏
  • 举报
回复
至于lbaby先生的方案,我希望能给出实际程序,至少是”算法“。而LBN1021
先生的提议,我会接受的。就不知pick()先生现在对算法有何意见,希望看到您的方案!
RichardStevens 2002-12-12
  • 打赏
  • 举报
回复
而且,在前述中也说明了,用10来进位更好!这样后面的格式就没问题了,但仍然不是“算法”!并非我故意苛刻,实在是这种实现很有问题,而且32bit整型数在某些机子上并不适用,移植性很差。所以,我建议您看看pick()先生推荐的那本书,虽然很难懂,但那是切实可行的方案,至少,我现在还没看到过更好的。
RichardStevens 2002-12-12
  • 打赏
  • 举报
回复
Solstice先生似乎仍没注意我的题意——其实,我是想求任意范围内的代数运算,如+,-,*,/等,由此来实现其他更复杂的数学功能!而Solstice先生最多是给出了“帖子的答案”!更何况,原程序仍然有错,其运行的效率很低,
是O(n*n)!最后输出格式也有问题——若vector某元素只有1-3位,那就补“0”,结果对吗?
zhaohangcom 2002-12-12
  • 打赏
  • 举报
回复
Solstice(大佛)这位仁兄:
我想问问你写的是什么功能的coding,我怎么实现不了楼主要求的功能啊???
陈硕 2002-12-12
  • 打赏
  • 举报
回复
9999 * 9999 < 10000 * 10000 = 100000000 < 1073741824 = 2 ^ 30;
而32-bit的int能表示 (-2^31) ~ ( 2^31 -1 )这么大的范围,所以我的程序在n <= 10000时,绝对不会溢出。
lbaby 2002-12-12
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1225/1225608.xml?temp=.4296076
也可以用字符串来存:

"12345"
+"23456"
="35801"
"1234567890123456789012345678901234567890..."假设为10^6位
也可以的
自己想办法了吧
RichardStevens 2002-12-12
  • 打赏
  • 举报
回复
我想,我该走了,谢谢给位的讨论。
RichardStevens 2002-12-12
  • 打赏
  • 举报
回复
LBN1012,能说说他所用的算法的思想吗?
RichardStevens 2002-12-12
  • 打赏
  • 举报
回复
lbaby,你在线上啊!说说你的想法!
LBN1012 2002-12-12
  • 打赏
  • 举报
回复
《C++程序设计习题及解答》清华大学出版社
有详细的解答过程,源代码长,我就不打出来了!
加载更多回复(16)

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧