使用两种方式实现斐波那契序列

 

复制代码
/**
 * Created by wangbin on 2022/1/11.
*/

#include <stdio.h>
#include <time.h>

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

int fib2(int n) {
    int num1 = 1;
    int num2 = 1;
    int tmp = 0;
    int i;
    if (n <= 2) {
        return 1;
    } else {
        for (i = 3; i <= n ; i++) {
            tmp = num1 + num2;
            num1 = num2;
            num2 = tmp;
        }
        return tmp;
    }
}

int main(void) {
    double start, end;
    start = (double) clock();
    int res = fib2(20);
    printf("fib(20)=%d\n", res);
    end = (double) clock();
    printf("times=%.4f\n", (end - start));
    return 0;
}
复制代码

 

posted @   Mars.wang  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2021-01-11 hive只扫描一遍表实现查询不同条件的数据
点击右上角即可分享
微信分享提示