-
题目描述:
-
立方根的逼近迭代方程是 y(n+1) = y(n)*2/3 + x/(3*y(n)*y(n)),其中y0=x.求给定的x经过n次迭代后立方根的值。
-
输入:
-
输入有多组数据。
每组一行,输入x n。
-
输出:
-
迭代n次后的立方根,double精度,保留小数点后面六位。
-
样例输入:
-
3000000 28
-
样例输出:
-
144.224957
-
典型的递归
#include<cstdio>
#include<iostream>
using namespace std;
int x;
double dg(int n){
if(n==0)return x;
return 1.0*dg(n-1)*2/3+1.0*x/(3*dg(n-1)*dg(n-1));
}
int main(){
int n;
while(scanf("%d %d",&x,&n)!=EOF){
printf("%.6lf\n",dg(n));
}
return 0;
}