zoukankan      html  css  js  c++  java
  • 递归迭代与斐波那契数列

    递归迭代与斐波那契数列

    概念

    递归: 程序调用自身的编程技巧称为递归,是函数自己调用自己.

    迭代: 利用变量的原值推算出变量的一个新值.

    区别

    如果递归是自己调用自己(A调用A)的话,迭代就是A不停的调用B.

    代码

    这里用了斐波那契数列数列,第一项为0第二项为1,之后每一项都是前两项的和。
    对于递归反复调用自己,这里其实可以拿一个数组存储答案的。
    迭代的话一直都是三个变量,一直在循环运算。

    
      public static int fic_1(int n) {
        //递归
        if (n == 1) {
          return 0;
        } else if (n == 2) {
          return 1;
        } else {
          return fic_1(n - 1) + fic_1(n - 2);
        }
      }
    
      public static int fic_2(int n) {
        //迭代
        int a2 = 0;
        if (n == 1) {
          return 0;
        } else if (n == 2) {
          return 1;
        } else {
          int a0 = 0, a1 = 1;
          for (int i = 3; i <= n; i++) {
            a2 = a0 + a1;
            a0 = a1;
            a1 = a2;
          }
          return a2;
        }
      }
    
  • 相关阅读:
    洛谷-P2430 严酷的训练
    Hackthebox网络不稳定的解决方案
    解压
    谷歌地图API密钥未授权利用
    关于读取heapdump踩的一个小坑
    RECON
    最近思考
    go get
    Js跳转
    Session
  • 原文地址:https://www.cnblogs.com/blogxjc/p/12346159.html
Copyright © 2011-2022 走看看