斐波那契

该博客介绍了如何使用备忘录法计算斐波那契数列,通过递归和循环两种方式实现。备忘录法提高了算法效率,避免了重复计算。以n=5为例,输出为5。代码中创建了长度为100的数组memo,用于存储斐波那契数列的中间结果。
摘要由CSDN通过智能技术生成

斐波那契

  1. 0,1,1,2,3,5,8,13,21,34,55,89,144,233,…
    计算F(n)
    输入:n=5
    输出:5

  2. 代码:
    static void Main(string[] args){
    int[] memo=new int[100]; //新建长度为100的memo数组,除了 memo[0]=0,memo[1]=1,其他每个值都为-1;
    for(int i=0; i<memo.Length; i++){
    memo[i]=-1;
    }
    }
    memo[0]=0;
    memo[1]=1;
    Console.Log(BWModule( n, memo));
    }

     ********备忘模型*********(未知到已知)
     public static int BWModule(int n, int[] memo){
        if(memo[n] == -1){       //如果memo[n]的值为-1
            memo[n] = BWModule(n - 1, memo) + BWModule(n - 2, memo);//BWModule递归找 memo[n-1]+memo[n-2];
        }
        return memo[n];
    }
    
     *******循环*******(已知到未知)
      public static int BWModule(int n, int[] memo){
           for(int i=2; i<=n; i++){
               memo[i]=memo[i-1]+memo[i-2];
           }
           return memo[n];
      } 
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值