面试题85:按指定精度打印开方后的结果

题目:

如何求根号2的值,并且按照我的需要列出指定小数位。

思路:

牛顿迭代法求根号,setprecision 函数控制输出精度。

#include <cstdlib> 
#include <iostream> 
#include <algorithm> 
#include <vector> 
#include <stddef.h> 
#include <ctime>
#include <memory.h> 
#include <iomanip>
using namespace std;


double my_sqrt(double a,int k){
	double x;
	x = a;
	for (int i = 1; i <= 10; i++)    //要求精度高的话,可以设置次数多些,比如100
		x = (x + a / x) / 2;
	cout << setprecision(k+1)<<x << endl;
	return x;
}

int main()
{
	my_sqrt(2,6);
	return 0;
}


你可能感兴趣的:(面试题85:按指定精度打印开方后的结果)