zoukankan      html  css  js  c++  java
  • 简单斐波那契——计蒜客(4)

    题目来自“计蒜客”第4题。

    解算法题之前,务必先写出与之对应的数学表达式,用于描述算法。

    数学描述如图:

    根据“数学描述“,写出代码如下:

    #include <stdio.h>
    
    int main()
    {
        int N =0 ;
        scanf("%d", &N);
        int i, fn1 = 1, fn2 = 0, fn;
        switch(N)
        {
            case 0:
                printf("0");
                break;
            case 1:
                printf("1");
                break;
            default:
                for(i = 2; i <= N; i++ )
                {
                    fn = fn1 + fn2;
                    fn2 = fn1;
                    fn1 = fn;
                }
                printf("%d", fn);
        }
        return 0;
    }

     愉快的完毕。

    反思,该算法的时间复杂度为O(N),即算法的执行时间取决于数列的项数。如果能推到出“第N项斐波那契数公式“,直接带入公式,那么时间复杂度将进化到O(1)。

    智慧在街市上呼喊,在宽阔处发声。
  • 相关阅读:
    WKT转换工具terraformers
    关于微信公众号投票结果的通告
    个人博客03
    个人博客02
    个人博客01
    四则运算2
    学习进度条
    构建之法阅读笔记01
    错误随笔
    软件工程概论第一节
  • 原文地址:https://www.cnblogs.com/fengyubo/p/4768318.html
Copyright © 2011-2022 走看看