来了解一下伟大的牛顿迭代开方法吧!
尝试了一下固定次数逼近行不行,结果听取WA声一片,还是得用误差范围逼。
有四行I/O优化和格式化的代码。C++的格式化和C还是不太一样的。
#include <iostream> using namespace std; double sqrt(double i) { double const ERR = 0.001; double ans = i / 2; while (ERR < abs(ans * ans - i)) ans = (ans * ans + i) / 2 / ans; return ans; } int main() { cin.tie(0); ios::sync_with_stdio(false); cout << fixed; cout.precision(3); double a, b; while (cin >> a >> b) cout << sqrt(a * a + b * b) << '\n'; }
来了解一下伟大的牛顿迭代开方法吧!
尝试了一下固定次数逼近行不行,结果听取WA声一片,还是得用误差范围逼。
有四行I/O优化和格式化的代码。C++的格式化和C还是不太一样的。