算术平方根的整数部分(简单)*求平方根的三种方法**整数与小数取绝对值*
生活随笔
收集整理的這篇文章主要介紹了
算术平方根的整数部分(简单)*求平方根的三种方法**整数与小数取绝对值*
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
69. Sqrt(x) - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/sqrtx/
目錄
方法一:牛頓迭代法
PS:求取絕對(duì)值
方法二:通過(guò)其它的數(shù)學(xué)函數(shù)代替平方根函數(shù)得到精確結(jié)果,取整數(shù)部分作為答案;
?方法三:二分法查找
方法一:牛頓迭代法
class Solution { public:int mySqrt(int x) {double result=(double)x;double shang=result;int a=x;if(x==0){return 0;}while(1){shang=result;result=(result*result+x)/(2*result);if(fabs(result - shang) < 1e-7) {return result;break;}}return result;} };?所以并不限于求解算術(shù)平方根這一道題,對(duì)于其他的球根題目也可以使用。
重點(diǎn)是找好初始值以及確定在什么時(shí)候結(jié)束迭代。
對(duì)于這個(gè)題目來(lái)說(shuō),初始值的選擇要防止使最后的結(jié)果成為負(fù)根,迭代結(jié)束條件根據(jù)題目要求精度進(jìn)行選擇。
PS:求取絕對(duì)值
abs( )主要用于對(duì)求整數(shù)的絕對(duì)值,而fabs()主要是求精度要求更高的double ,float?型的絕對(duì)值。
方法二:通過(guò)其它的數(shù)學(xué)函數(shù)代替平方根函數(shù)得到精確結(jié)果,取整數(shù)部分作為答案;
?方法三:二分法查找
?
總結(jié)
以上是生活随笔為你收集整理的算术平方根的整数部分(简单)*求平方根的三种方法**整数与小数取绝对值*的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Ubuntu中挂载使用nas服务器
- 下一篇: 【路径规划】基于粒子群算法实现机器人栅格