2个回答
展开全部
首先,告诉你一个斐波那契数列的计算方法:
int fib(int n) {
int a = 1, b = 2;
for(int i=0; i<n; i++) {
int c = a + b; // 第一次执行,c变成3
a = b; // 第一次执行,a变成2
b = c; // 第一次执行,b变成3
}
}
然后就是利用这个东东来计算你说的和:
int fun(int n) {//这个传20进来就行
int a = 1, b = 2;
double sum = 0;
for(int i=0; i<n ; i++) {
int c = a + b;
sum += (double) b / a;
a = b;
b = c;
}
return sum;
}
展开全部
#include <stdio.h>
#include <math.h>
int main()
{
int n=20,i=0;
float ai,bi;
float aj,bj;
float a,b;
float sum;
ai=1,bi=2; //第1项分母分子
aj=2,bj=3; //第2项分母分子
sum=(bi/ai)+(bj/aj); //先算前两项的和
for(i=0;i<n-2;i++)
{
a=ai+aj; //从第3项开始,分母是前两项分母之和
b=bi+bj; //从第3项开始,分子是前两项分子之和
sum+=b/a;
ai=aj;
bi=bj;
aj=a;
bj=b;
}
printf("前%d项的和= %f\n",n,sum);
return 0;
}
运行结果如下:
前20项的和= 32.660259
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询