C语言计算一个数的平方根立方根,怎样快速计算出一个数的平方根立方根?

本文介绍了如何使用C语言手动计算一个数的平方根和立方根,通过逐步迭代找到最接近的整数结果,适用于理解算法过程。
摘要由CSDN通过智能技术生成

匿名用户

1级

2013-09-17 回答

在这里,我“定义”a^b=a的b次方。

(10a+b)^2 = 100a^2+20ab+b^2 = 100a^2+b(20a+b)

a代表的是已经计算出来的结果,b代表的是当前需要计算的位上的数。在每次计算过程中,100a^2都被减掉,剩下b(20a+b)。然后需要做的就是找到最大的整数b'使b'(20a+b')<=b(20a+b)。

因此,我就照着书里的方法,推导开立方笔算法。

(10a+b)^3 = 1000a^3+300a^2*b+30a*b^2+b^3 = 1000a^3+b[300a^2+b(30a+b)]

如果每次计算后都能减掉1000a^3的话,那么剩下的任务就是找到最大的整数b',使b'[300a^2+b'(30a+b')]<=b[300a^2+b(30a+b)]。

于是,我就设计了一个版式。下面就开始使用这个版式来检验开立方笔算法。

例如:147^3=3176523

一开始,如下图所示,将3176523从个位开始3位3位分开。(3'176'523)

第一步,我们知道,1^3 < 3 < 2^3,所以,第一位应该填1。

1^3 = 1,3 - 1 = 2,余2,再拖三位,一共是2176。

接下来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值