这篇“C++怎么求平方根”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++怎么求平方根”文章吧。Example 1:Input: 4
Output: 2Example 2:Input: 8
Output: 2
Explanation: The square root of 8 is 2.82842…, and since
the decimal part is truncated, 2 is returned.这道题要求我们求平方根,我们能想到的方法就是算一个候选值的平方,然后和x比较大小,为了缩短查找时间,我们采用二分搜索法来找平方根,找最后一个不大于目标值的数,这里细心的童鞋可能会有疑问,在总结贴中第三类博主的 right 用的是开区间,那么这里为啥 right 初始化为x,而不是 x+1 呢?因为总结帖里的 left 和 right 都是数组下标,这里的 left 和 right 直接就是数字本身了,一个数字的平方根是不可能比起本身还大的,所以不用加1,还有就是这里若x是整型最大值, 香港云主机再加1就会溢出。最后就是返回值是 right-1,因为题目中说了要把小数部分减去,只有减1才能得到正确的值,代码如下:解法一:这道题还有另一种解法,是利用牛顿迭代法,记得高数中好像讲到过这个方法,是用逼近法求方程根的神器,在这里也可以借用一下,因为要求 x2= n 的解,令 f(x)=x2-n,相当于求解 f(x)=0 的解,可以求出递推式如下:xi+1=xi– (xi2– n) / (2xi) = xi– xi/ 2 + n / (2xi) = xi/ 2 + n / 2xi= (xi+ n/xi) / 2解法二:也是牛顿迭代法,写法更加简洁一些,注意为了防止越界,声明为长整型,参见代码如下:解法三:以上就是关于“C++怎么求平方根”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注开发云行业资讯频道。
这篇文章主要为大家展示了“xp无法修改系统时间怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“xp无法修改系统时间怎么办”这篇文章吧。1、以系统管理员的账户登录系统,依次执行“开始——运行”命令,输入“gpe …
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。