专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 编程

OJ刷题之《幼年生活二三事》

发布时间:2011-06-30 11:33:16 文章来源:www.iduyao.cn 采编人员:星星草
OJ刷题之《童年生活二三事》

题目描述

Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。但年幼的他一次只能走上一阶或者一下子蹦上两阶。现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。

输入

输入包括多组数据。每组数据包括一行:N(1≤N≤40)输入以0结束。

输出

对应每个输入包括一个输出。redraiment到达第n阶不同走法的数量。

样例输入

1

2

0

样例输出

1

2

 

代码如下

 

#include <iostream>
using namespace std;
int Jump(int n);
int main()
{
    int n;
    while(cin>>n&&n>=1&&n<=40&&n!=0)
    {
        cout<<Jump(n)<<endl;
    }
    return 0;
}

int Jump(int n)
{
    if (n==1)
        return 1;
    else if (n==2)
        return 2;
    else
    return Jump(n-1)+Jump(n-2);
}


 

运行结果:

 

 

1楼poodar昨天 16:38
#include <iostream>nusing namespace std;nnint n = 0;nint num = 0;nvoid f(int n,int N)n{n if (n < N) {n f(n+1, N);n f(n+2, N);n }n else if (n == N)n {n num += 1;n }n}nnint main()n{n cout << "几阶的楼梯? " << endl;n int N;n cin >> N;n while (N) {n f(0, N);n cout << "共计 " << num << " 种" << endl;n cin >> N;n num = 0;n = 0;n }n n return 0;n}
Re: Liuchang54昨天 17:36
回复poodarn可以解释下么,对于那个nf(n+1,N);nf(n+2,N);n这种类似的还是不大理解
Re: Liuchang54昨天 17:40
回复poodarn哦哦 受教了 谢谢^0^
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: