描述
要求前后两次求出的x的差的绝对值小于10-5.保留4位小数,并输出迭代的次数。
输入 2 输出 1.4142 3
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
double a,x1,x2;
int i = 0; //用i来表示迭代的次数
cin >> a;
x1 = a / 2;
x2 = (x1 + a / x1) / 2;
while (fabs(x1 - x2) >= 0.00001)
{
x1 = x2;
x2 = (x1 + a / x1) / 2;
i++;
}
cout << fixed << setprecision(4) << x2 << " " << i << endl;
return 0;
}