题目描述
数列的定义如下:
数列的第一项为item,以后各项为前一项的平方根,求数列的前n项的和。
输入
由两个整数item(item<10000)和n(n<1000)组成,item和n的含义如前所述。
输出
输出该数列的和,占一行,要求精度保留2位小数。
样例输入
84 4
样例输出
97.93
#include<stdio.h>
#include<math.h>
int main(){
double n,item; //item必须是double类型,否则在sqrt()中出现误差
scanf("%lf%lf",&item,&n);
double sum=item,a;
for(int i=2;i<=n;i++){
a=sqrt(item);
sum+=a;
item=a;
}
printf("%.2f",sum);
return 0;
}
计算n项的平方根的和,第一项已知是手动输入的item,第二项是item的平方根,第三项是item的平方根的平方根,以此类推。
写一个for循环,用a存储平方根的结果(从数列第二项开始,a存放第 i 项的结果),sum+a 得到前 i 项的和,然后让item=第 i 项(即 a ),重复此操作。