算术平方根的整数部分(简单)*求平方根的三种方法**整数与小数取绝对值*
生活随笔
收集整理的這篇文章主要介紹了
算术平方根的整数部分(简单)*求平方根的三种方法**整数与小数取绝对值*
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
69. Sqrt(x) - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/sqrtx/
目錄
方法一:牛頓迭代法
PS:求取絕對值
方法二:通過其它的數學函數代替平方根函數得到精確結果,取整數部分作為答案;
?方法三:二分法查找
方法一:牛頓迭代法
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;} };?所以并不限于求解算術平方根這一道題,對于其他的球根題目也可以使用。
重點是找好初始值以及確定在什么時候結束迭代。
對于這個題目來說,初始值的選擇要防止使最后的結果成為負根,迭代結束條件根據題目要求精度進行選擇。
PS:求取絕對值
abs( )主要用于對求整數的絕對值,而fabs()主要是求精度要求更高的double ,float?型的絕對值。
方法二:通過其它的數學函數代替平方根函數得到精確結果,取整數部分作為答案;
?方法三:二分法查找
?
總結
以上是生活随笔為你收集整理的算术平方根的整数部分(简单)*求平方根的三种方法**整数与小数取绝对值*的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu中挂载使用nas服务器
- 下一篇: 【路径规划】基于粒子群算法实现机器人栅格