C++基础——典型例题-递推与递归

本文探讨了C++中如何使用递推和递归解决斐波那契数列的问题,通过实例解析数字三角形问题,展示递推与递归在算法设计中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0 1 1 2 3 5 8 13 21 34 55… 斐波那契数列可以用递归定义:

          Fibonacci(0)=0
          Fibonacci(1)=1
          Fibonacci(n)=Fibonacci(n-1)+Fibonacci(n-2)
    所以求该数列第n项的函数:
    #include<iostream>
      using namespace std;
      long Fibonacci(long);
      {       long value,n;
              cout<<"Enter an integer:";
              cin>>n;
              value=Fibonacci(n);
              cout<<"Fibonacci("<<n<<")="<<value<<endl;
    }
       long Fibonacci(long n)
       { if(n==0||n==1) return n;
         else return Fibonacci(n-1)+Fibonacci(n-2);
         }
  • 数字三角形问题:

            7
          3   8
        8   1   0
      2   7    4   4
     4  5   2   6   5
    如图所示,数字三角形,计算从顶到底的某处的一条路径,使改路径所经过的数字总和最大,只要求输出总和。
    本题采用倒推的方法,设a[i][j]存放从i,j出发到达n层的最大值
     #include<iostream>
       using namespace std;
       int main()
       {
         int n,i,j,a[101][101];
         cin>>n;
         for(i=1;i<=n;i++)
         for(j=1;j<=i;j++)
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值