首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >算法: Donald划分算法混淆

算法: Donald划分算法混淆
EN

Stack Overflow用户
提问于 2013-05-08 23:32:46
回答 1查看 3.8K关注 0票数 2

我正在尝试实现一个将两个大精度数字分开的程序(我把它们作为字符串)。来自堆栈溢出的其他问题的人建议实现这个算法,这在Donald的“计算机编程的艺术”一书中得到了解释。在阅读过程中,我对算法有了一个大致的认识,但在某些方面我感到困惑。

  1. 该算法采用了学校长除法的概念.我不明白程序是如何在执行算法时“猜测”商数的数字的。
  2. 即使是“猜测”,我该如何将股利分成除数呢?假设我必须把除数转换成int..。
  3. 如果除数是一个很大的数字,...what?问题就不一样吗?

任何帮助都将不胜感激。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-08 23:51:55

我只能建议,除法可以通过除数和除数的差来实现。然后根据数字差对除法器进行一定的估计,并对其进行修改,直至达到期望的输出。是的,如果计算非常大的数据,您必须编写自己的加法函数和多处理函数,并使用数组。

更新逐个接受提示。假设,1923/695为x 695= 3,取除数的前3位,然后尝试除法。当193<695添加商0,再添加一个数字到除法。现在我们必须把1923年除以695。这种方法的一个优点是,每次你必须猜出1到9之间的数字。为了优化和减少猜测的数量,您可以实现如果条件,例如,如果除数是>除数*5,您的猜测将是6、7、8和9。

我以前用这个方法计算了大数的阶乘数。希望这对你也有帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16451935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档