任务描述
有一个神奇的迭代公式:xn+1=sqrt(xn+2)
,无论x的初值(大于2的正数)选的多么大,若干次迭代之后,x都与2无限接近,也就是说x序列的极限是2。假设x0 =99999999.0(8个9),编程输入一个正整数n,输出xn的值(保留10位小数)。
输入样例:
8
输出样例:
x[8]=2.0051798692
xn+1=sqrt(xn+2)
你这公式不完整吧,xn是什么东西
#include <stdio.h>
#include <math.h>
int main()
{
int n, a = 0;
scanf("%d", &n);
double *x = new double[n];
for ( int i = 0; i < n; i++ )
{
if ( i == 0 )
{
x[i] = 99999999.0;
}
else
{
x[i] = sqrt(x[i - 1] + 2);
}
}
printf("x[%d]=%.10lf", n, x[n - 1]);
delete[] x;
return 0;
}