求教两个大数相除的算法!

why675059192 2010-04-29 09:47:47
一个50位数除以一个40位数 该怎么算! 求算法!
...全文
680 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengboxjtu556 2010-04-29
  • 打赏
  • 举报
回复
对,应该用BigInteger
shine333 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zfq642773391 的回复:]

引用 6 楼 shine333 的回复:
50位的数不算大,我曾经用BigInteger计算过99999的阶乘,那可是一个456569位的大数,光计算toString()就花了2分半钟。不过计算99999!只花了20几秒

顶个 厉害 你的机子不错吧
[/Quote]

分线程后,一则充分利用了CPU,二则每一步计算的数值相对较小,计算速度较快。
zfq642773391 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 shine333 的回复:]
50位的数不算大,我曾经用BigInteger计算过99999的阶乘,那可是一个456569位的大数,光计算toString()就花了2分半钟。不过计算99999!只花了20几秒
[/Quote]
顶个 厉害 你的机子不错吧
shine333 2010-04-29
  • 打赏
  • 举报
回复
50位的数不算大,我曾经用BigInteger计算过99999的阶乘,那可是一个456569位的大数,光计算toString()就花了2分半钟。不过计算99999!只花了20几秒
24K純帥 2010-04-29
  • 打赏
  • 举报
回复
BigDecimal用在这么大的两个数不一定能OK吧
shine333 2010-04-29
  • 打赏
  • 举报
回复
除法的话,还是BigDecimal.两个整数+-*还是整数,但是除法就不一定了。

除法后面有两个参数,分别代表保留位数,和截位的方法(四舍五入等)
huntor 2010-04-29
  • 打赏
  • 举报
回复
看BigInteger的源代码
focusforce 2010-04-29
  • 打赏
  • 举报
回复
BigDecimal
zfq642773391 2010-04-29
  • 打赏
  • 举报
回复
用BigInteger类吧

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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