int main() {
int n = 0;
scanf("%d",&n);
int arr1[100] = { 0 };
for (int i = 1; i <= n;i++) {
if (i <= 3) {
arr1[i]= i;
}
if (i>3) {
arr1[i] = arr1[i - 2] + arr1[i - 1];
}
}
int arr2[100] = { 0 };
for (int i = 1; i <= n; i++) {
if (i < 3) {
arr2[i] = i+1;
}
if (i>= 3) {
arr2[i] = arr2[i - 2] + arr2[i- 1];
}
}
double ret = 0;
for (int i = 1; i <=n;i++) {
ret += (double)arr2[i] / arr1[i];
}
printf("%lf ",ret);
return 0;
}
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main(void)
{
//2/1+3/2+5/3+8/5+13/8+25/
float m=2,n=1,sum=0,t;//分子 分母 求和 中间变量
for (int i = 0; i < 20; i++) {
sum += m / n;
t = m;
m+=n;
n = t;
}
printf("分数序列前20项和为:%f", sum);
return 0;
}
登录后提交答案