首页 > 试题广场 >

Fibonacci

[编程题]Fibonacci
  • 热度指数:14166 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
    The Fibonacci Numbers{0,1,1,2,3,5,8,13,21,34,55...} are defined by the recurrence:     F0=0 F1=1 Fn=Fn-1+Fn-2,n>=2     Write a program to calculate the Fibonacci Numbers.

输入描述:
    Each case contains a number n and you are expected to calculate Fn.(0<=n<=30) 。


输出描述:
   For each case, print a number Fn on a separate line,which means the nth Fibonacci Number.
示例1

输入

1

输出

1
斐波那契数列的非递归实现(for循环)
#include <stdio.h>

long long int Fibonacci(int n){
    if(n == 0) return 0;
    static long long int a = 0;
    static long long int b = 1;
    for(int i = 2; i <= n; ++i){
        long long int t = a + b;
        a = b;
        b = t;
    }
    return b;
}

int main() {
    int n;
    scanf("%d",&n);
    printf("%lld",Fibonacci(n));
    return 0;
}


发表于 2024-04-26 19:45:26 回复(0)
#include <stdio.h>
int Fun(int n){
    if (n == 0) {
        return 0;
    }
    if (n == 1) {
        return 1;
    }
    return Fun(n-1)+Fun(n-2);
}
int main() {
    int n;
    scanf("%d", &n);
    printf("%d", Fun(n));
    return 0;
}

发表于 2023-02-15 22:17:20 回复(0)
#include <stdio.h>

int fibonacci(int n) {
    if(n == 0)
        return 0;
    else if(n == 1)
        return 1;
    else
        return fibonacci(n-1) + fibonacci(n-2);
}

int main() {
    int n;
    scanf("%d", &n);
    printf("%d\n", fibonacci(n));
    return 0;
}

发表于 2022-02-26 23:16:00 回复(0)