2039 Problem K 迭代求立方根

问题 K: 迭代求立方根

时间限制: 1 Sec  内存限制: 32 MB
 

题目描述

立方根的逼近迭代方程是 y(n+1) = y(n)*2/3 + x/(3*y(n)*y(n)),其中y0=x.求给定的x经过n次迭代后立方根的值。

 

输入

输入有多组数据。
每组一行,输入x n。

 

输出

迭代n次后的立方根,double精度,保留小数点后面六位。

 

样例输入

4654684 1
65461 23

样例输出

3103122.666667
40.302088

经验总结

基础题~~使用递归解决很方便~~

AC代码

#include 
#include 
double x;
double y(int n)
{
	if(n==0)	return x;
	else
	{
		double temp=y(n-1);
		return temp*(2.0/3.0)+x/(3*temp*temp);
	}
}
int main()
{
	int n;
	while(~scanf("%lf %d",&x,&n))
	{
		printf("%.6f\n",y(n));
	}
	return 0;
}

 

你可能感兴趣的:(codeup,迭代求立方根,2039,codeup,C++)