题目要求算算式:f(x,n)=sqrt(n+sqrt((n-1)+.....+sqrt(x+1)));
给出的样例输入为3 ,2,样例输出为2.00,我编出了这个代码,但系统显示wrong answer;请教各位,我哪错了,或者是我那理解错了.....
double f(double x,int n);
int main(void)
{ int n;
double sum, x;
scanf("%lf %d",&x,&n);
sum=f(x ,n);
printf("%.2lf\n",sum);
return 0;
}
double f(double x,int n)
{ double sum;
sum=n;
n=n-1;
while(n>=2)
{
sum=sqrt(sum+sqrt(n));
n=n-1;
}
sum=sqrt(sum+sqrt(1+x));
return sum;
}
好像没毛病
3 2
2.00
他只能求3 2....
double f(int x,int n);
int main(void)
{ int n,x;
double sum;
scanf("%d %d",&x,&n);
sum=f(x,n);
printf("%.2lf",sum);
return 0;
}
double f(int x,int n)
{ int i;
double sum;
sum=sqrt(1+x);
for(i=2;i<=n;i++)
{
sum=sqrt(sum+i);
}
return sum;
}
我修改之后的,就可以了。。。
头文件:
#include <stdio.h>
#include <math.h>
头文件声明中用‘#’引出所用的头文件。
就ok了!
额.....其实还有一处逻辑错误的....求3 3就不行了