Menu
Coddy logo textTech

Fibonacci numbers

Coddy의 수학 수수께끼 코스 레슨 — 20개 중 4번째.

피보나치 수열의 각 새로운 항은 이전 두 항을 더하여 생성됩니다.

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개월이 끝날 때 항상 다른 토끼 한 쌍을 낳습니다. 그리고 토끼는 절대 죽지 않고 영원히 번식을 계속합니다. 피보나치는 다음과 같은 문제를 제기했습니다: 1년 후에는 몇 쌍의 토끼가 있을까요?

n번째 달이 끝날 때 토끼 쌍의 수는 성숙한 쌍의 수(즉, n – 2개월째의 쌍의 수)에 지난달에 살아있던 쌍의 수(n – 1개월째)를 더한 것과 같습니다. n번째 달의 숫자가 n번째 피보나치 수입니다. [위키백과, 우리 모두의 백과사전]

challenge icon

챌린지

쉬움

자연수 <i>N</i>을 입력받아, 1과 2로 시작하며 그 값이 <i>N</i>을 초과하지 않는 피보나치 수열의 항의 개수를 반환하는 파이썬 코드 calcFibonacciNums를 작성하세요.

직접 해보기

#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