递推递归练习 中的N题
来源:互联网 发布:血腥玛丽鸡尾酒 知乎 编辑:程序博客网 时间:2024/05/23 15:06
题意说的很清楚,就是满足所给的条件,给定柱子和荷叶求可以跳到河对面的最大青蛙的数量。
思路:可以从0,0开始分析,只有一只青蛙可以跳过,就是直接跳到河对面去。
若0,1则最多可以跳两只青蛙,即一只从荷叶上跳过去,另一只直接跳到河对面去。
以此类推就不难推出递推公式,即柱子为0时最多跳过的青蛙数为荷叶数加一。
同理,再分析1,0的情况,最多跳过2只青蛙,而1,1时则为4只。因此递推公式为 num(a,b)=2*num(a-1,b);
代码如下:
#include<iostream>
#include<cmath>
using namespace std;
int num(int a,int b)
{int i,j;
if (a==0) return b+1;
else return 2*num(a-1,b);
}
int main()
{
int e=1,i,j,n,m;
while (cin>>m>>n)
{
cout<<num(m,n)<<endl;
}
}
#include<cmath>
using namespace std;
int num(int a,int b)
{int i,j;
if (a==0) return b+1;
else return 2*num(a-1,b);
}
int main()
{
int e=1,i,j,n,m;
while (cin>>m>>n)
{
cout<<num(m,n)<<endl;
}
}
此类问题题干比较长,需要读懂题意并加以分析,一旦求出递推公式,编代码便是很容易的事情。关键是读懂题意。
0 0
- 递推递归练习 中的N题
- 递推递归练习 N题
- 递推递归练习N
- 递推递归练习 N
- 递归递推练习 N
- 《递归递推练习》N
- 递推递归练习N
- 递推递归练习 中的O题
- 递推递归练习 中的L题
- 递推递归练习 N 青蛙过河
- 递推递归练习N青蛙过河
- ACM递归递推练习 Problem N
- 递推递归练习——N
- 递推递归练习--N(青蛙过河)
- 递推递归练习 A题
- 递推递归练习 E题
- 递推递归练习 F题
- 递推递归练习 K题
- 453. Minimum Moves to Equal Array Elements
- Android中assets目录和raw目录的区别和使用情况
- 计算机网络小练习3
- 欢迎使用CSDN-markdown编辑器
- UVA
- 递推递归练习 中的N题
- 安装Git
- session原理及实现共享
- leetcode python
- Python如何判断质数(素数)
- A
- C 实现函数拼接
- 【SpringMVC+mybatis】3.mybatis入门程序
- 线索化二叉树