牛顿迭代法, 开根号
牛顿迭代法, 开根号
由于我们是想求得 x * x = y
即 sqrt(y) = x
所以一句话说的好, 将 长方形变得更像正方形
code
#include <bits/stdc++.h>
using namespace std;
int main()
{
// 将 长方形变得更像正方形!
int n = 4;
double t1 = 5;
const double eps = 1e-4;
while(true) {
double tmp = 0.5*(t1 + n/t1);
if(fabs(tmp*tmp-(double)n) < eps) {
cout << tmp << endl;
break;
}
t1 = tmp;
}
return 0;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步