Menu
Coddy logo textTech

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-е число Фибоначчи. [Википедия, свободная энциклопедия]

challenge icon

Задание

Легко

Напишите код на 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;
}

Все уроки раздела Математические головоломки

3Fibonacci sequence

Fibonacci numbersEven Fibonacci numbers

9Binary numbers

Introduction