C/C++学习(四)变态跳台阶
来源:互联网 发布:vb 播放器 编辑:程序博客网 时间:2024/06/05 14:32
- 题目描述:
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法
- 输入:
- 输入可能包含多个测试样例,对于每个测试案例,输入包括一个整数n(1<=n<=50)。
- 输出:
对应每个测试案例,输出该青蛙跳上一个n级的台阶总共有多少种跳法。
分析:当台阶数为n时,可以分为以下步骤来完成:
设第一次跳的台阶数为s,跳台阶方式数为T,则:
(1)s=1时,T(n) = T(n-1)
(2)s=2时,T(n) = T(n-2)
.
.
.
(n)s=n时,T(n) = T(0) = 1
所以总的跳台阶方式数T可以表示为:
T(n) = T(0) + T(1) + T(2) + … + T(n-1)
由于T(0) = T(1) = 1,所以T(n) = 2^(n-1)#include <iostream>
#include <math.h>
using namespace std;
/*题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。
求该青蛙跳上一个n级的台阶总共有多少种跳法
*/
class step
{
private:
int numstep;//台阶的数目
int num;//跳台阶的方式数
public:
step(int n):numstep(n)
{
}
void getstepnum()
{
this->num = (int)pow(2,this->numstep-1);
}
friend void num( step &step1);
};
void num( step &step1)
{
step1.getstepnum();
cout << step1.num <<endl;
}
int main()
{
// cout << "Hello World!" << endl;
step step11(6);
num(step11);
return 0;
}
0 0
- C/C++学习(四)变态跳台阶
- 剑指offer(C++)——变态跳台阶
- C++,剑指offer青蛙变态跳台阶
- 算法学习记录八(C++)--->一句代码搞定变态跳台阶
- 剑指offer题解C++【9】变态跳台阶
- 跳台阶问题(变态跳台阶)
- 跳台阶问题(变态跳台阶)
- 跳台阶问题(变态跳台阶)
- 跳台阶问题(变态跳台阶)
- 跳台阶(不变态)
- 跳台阶 && 变态跳台阶
- 变态跳台阶(java版)
- 变态跳台阶(剑指Offer)
- 剑指offer(九)变态跳台阶
- 剑指offer--(9) 变态跳台阶
- 变态跳台阶(递归 循环)
- 变态跳台阶
- 变态跳台阶
- c++ 11 多线线程系列--------使用锁和条件变量的线程安全队列
- pdf转word文档:wondershare pdf convert 4.0.1
- 火狐浏览器 编码解码 Base64Encoder无法使用
- Python爬虫教程大全
- UIImage 切割
- C/C++学习(四)变态跳台阶
- 临时
- codevs 1058 合唱队形
- iOS跳转到指定页面,而不是简单的返回上一个页面
- 【bzoj3155】Preprefix Sum
- ssh远程连接Ubuntu
- 我的iOS学习历程 - UITableView的编辑
- WebGL实现HTML5贪吃蛇3D游戏
- Linux 非缓冲I/O与缓冲I/O