Fibonacci numbers
Урок 4 из 20 курса Математические головоломки на Coddy.
Каждый новый член последовательности Фибоначчи получается путем сложения двух предыдущих членов.
a[n+2]=a[n]+a[n+1]Начиная с 1 и 2, первые 10 членов меньше 100 будут следующими:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89.
Последовательность Фибоначчи упоминается в книге Liber Abaci («Книга абака», 1202) Фибоначчи, где она используется для расчета роста популяции кроликов. Фибоначчи рассматривает рост идеализированной (биологически нереалистичной) популяции кроликов, предполагая, что: новорожденная пара кроликов помещается в поле; каждая пара спаривается в возрасте одного месяца, и в конце второго месяца они всегда производят еще одну пару кроликов; кролики никогда не умирают, а продолжают размножаться вечно. Фибоначчи задал загадку: сколько пар будет через один год?
В конце 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;
}