39级台阶
2017-01-13 13:25
267 查看
题目标题: 第39级台阶
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
请你利用计算机的优势,帮助小明寻找答案。
要求提交的是一个整数。
注意:不要提交解答过程,或其它的辅助说明文字。
使用递归的方法难度略大
代码如下:
#include<stdio.h>
int count, sum, step;
void f( ) {
int i;
if( sum >= 39 )
{
if((step % 2 == 0)&&(sum==39))
count ++;
return ;
}
for( i = 1; i <= 2; i++)
{
sum += i;
step += 1;
f();
sum -= i;
step -= 1;
}
}
int main( )
{
f();
printf("%d\n" ,count );
return 0;
}
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
请你利用计算机的优势,帮助小明寻找答案。
要求提交的是一个整数。
注意:不要提交解答过程,或其它的辅助说明文字。
使用递归的方法难度略大
代码如下:
#include<stdio.h>
int count, sum, step;
void f( ) {
int i;
if( sum >= 39 )
{
if((step % 2 == 0)&&(sum==39))
count ++;
return ;
}
for( i = 1; i <= 2; i++)
{
sum += i;
step += 1;
f();
sum -= i;
step -= 1;
}
}
int main( )
{
f();
printf("%d\n" ,count );
return 0;
}
相关文章推荐
- 39级台阶
- 蓝桥杯 39级台阶 代码
- 算法 39级台阶问题
- 二维码的生成和解析
- vs2010快捷键ctrl+shift+r
- centos 安装ant
- 响应式设计
- 对 Select 的各种操作(JQuery)
- ISO27001适用性-导图
- (一) rabbitmq在ubuntu14.04上的部署
- [00020]合并多个字典或映射
- scrollview嵌套listview默认显示顶端方法
- HTTPS 简介及使用官方工具 Certbot 配置 SSL 安全证书详细教程
- 寻找最小的k个数
- inflate方法
- 西游就是一段投股史
- 寻找最小的k个数
- JavaScript “函数重载”
- java代码中变量属性值乱码问题!
- php上传图片至七牛