牛顿迭代法与一道经典编程问题
2023-09-14 09:08:58 时间
牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method)。它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。
既然牛顿迭代法能够用来求解方程的根,那么最好还是以方程
为此。
令
首先随便找一个初始值
以此类推。以这种方式得到的
推断
经过
令切线方程等于
继续化简
基于上述迭代公式,我们其实给出了一个求平方根的算法。其实,这也的确是非常多语言中内置的开平方函数的实现方法。
Leetcode上也有一道经典面试题目涉及到开平方函数的实现。例如以下
基于我们已经给出的牛顿迭代法,以下就可来编程解决该问题了。演示样例代码例如以下
class Solution {
public:
int mySqrt(int x) {
if (x ==0)
return 0;
double pre;
double cur = 1;
do
{
pre = cur;
cur = x / (2 * pre) + pre / 2.0;
} while (abs(cur - pre) > 0.00001);
return int(cur);
}
};
相关文章
- 深度学习经典算法 | 模拟退火算法详解
- [面试题]25个MySQL经典面试题「建议收藏」
- C语言经典编程题100例 1~10
- C语言经典编程题100例 71~80
- 用python 打印九九乘法表的7种方式 (python经典编程案例)[通俗易懂]
- C语言编程基础入门经典100题(1-10)-简书_c语言简单代码
- 经典Java编程练习题【持续更新......】
- 【每周CV论文推荐】基于GAN的图像数据增强有哪些经典论文值得阅读
- 让你彻底弄懂Python编程经典案例【考题】之反转一个值
- Python编程经典案例【考题】自由落体运动球的运动轨迹
- Python编程经典案例【考题】找出两个字符串中相同字符和不同字符
- Python编程经典案例【考题】判断日期是该年中的第几天
- 百度前端经典vue面试题整理5
- 经典例题(二)——超经典例题的归纳总结
- 《机器学习十大经典算法》报告邀请
- EeSen、FSMN、CLDNN、BERT、Transformer-XL…你都掌握了吗?一文总结语音识别必备经典模型(二)
- C语言的三个经典题目:三步翻转法、杨氏矩阵、辗转相除法
- 传说中最经典的外包案例
- 世界战史中的经典战役(三)1941年苏德战争使“喀秋莎”火箭炮一战成名
- Linux面试题大全:25道经典题目助你面试成功!(linux经典面试题)
- 汤姆汉克斯那辆经典丰田兰德酷路泽已成交
- CSS经典实用技巧18招