題目及代碼:
#include <stdio.h>
int feibo(int n)
{
if (n==1) {
return 1;
}
if (n==2) {
return 2;
}
return feibo(n-1)+feibo(n-2);
}
int main(int argc, const char * argv[]) {
/**
題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。(程序分析:請抓住分子與分母的變化規律。)
**/
//分子分母都是斐波那契數列,分母是1,2開始的第20項,分子是第21項
// 先計算分母,即第20項
float sum=0,number=0;
for (int i=1;i<=20;i++) {
number=(float)feibo(i+1)/feibo(i);
sum+=number;
}
printf("%f\n",sum);
return 0;
}