斐波那契数
Coddy 数学谜题 课程的第 4 课,共 20 课。
斐波那契数列中的每一项都是前两项相加得到的。
a[n+2]=a[n]+a[n+1]从 1 和 2 开始,小于 100 的前 10 项如下:
1,2,3,5,8,13,21,34,55,89。
斐波那契数列出现在斐波那契的著作 Liber Abaci(《计算之书》,1202 年)中,他在书中用它来计算兔子种群的增长。斐波那契考虑了一个理想化的兔子种群(不符合生物学实际)的增长,并假设:一对新出生的繁殖兔被放进田地里;每对繁殖兔在满 1 个月时交配,并且在第 2 个月结束时总会生下另一对兔子;兔子永远不会死去,而是永远继续繁殖。斐波那契提出了这个问题:一年后会有多少对兔子?
在第 n 个月末,兔子的对数等于成熟兔子的对数(也就是第 n – 2 个月的兔子对数)加上上个月存活的兔子对数(第 n – 1 个月)。第 n 个月的数量就是第 n 个斐波那契数。[维基百科,自由的百科全书]
挑战
简单编写 Python 代码 calcFibonacciNums,接收一个自然数 <i>N</i>,并返回从 1 和 2 开始且值不超过 <i>N</i> 的斐波那契数列项数。
亲手试试
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"
int main() {
int n;
if (scanf("%d", &n) != 1) n = 0;
int r = calcFibonacciNums(n);
printf("%d\n", r);
return 0;
}
数学谜题中的所有课
自己练习: C 在线编译器