Problem Description
计算下列表达式值:
Input
输入x和n的值,其中x为非负实数,n为正整数。
Output
输出f(x,n),保留2位小数。
Sample Input
3 2
Sample Output
2.00
Hint
Source
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n,i;
double f,x;
f=0;
scanf("%lf %d",&x,&n);
if(n==1)f=sqrt(1+x);
else
{
f=sqrt(1+x);
for(i=2; i<=n; i++)
f=sqrt(f+i);
}
printf("%.2lf\n",f);
return 0;
}
另一种形式:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double f(int n,double x)
{
int i;
double y;
if(n==1)y=sqrt(1+x);
else
{
y=sqrt(1+x);
for(i=2; i<=n; i++)
y=sqrt(y+i);
}
return y;
}
int main()
{
int n;
double x;
scanf("%lf %d",&x,&n);
printf("%.2lf\n",f(n,x));
return 0;
}