2014.11.1题解(2)---杭电2041
来源:互联网 发布:手机5g网络怎么设置 编辑:程序博客网 时间:2024/04/30 10:51
Problem Description
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
Input
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
Output
对于每个测试实例,请输出不同走法的数量
Sample Input
2 2 3
Sample Output
1 2
。。。。。。。。。。。。。。
当你到达第n阶的时候有两种到达方式。 在n-1处上 1个楼梯。在n-2处上2个楼梯。。
所以上N阶楼梯的情况总数=上n-1的总数+上n-2的总数
这样递推公式就出来了。。
f(n)=f(n-1)+f(n-2)
当你到达第n阶的时候有两种到达方式。 在n-1处上 1个楼梯。在n-2处上2个楼梯。。
所以上N阶楼梯的情况总数=上n-1的总数+上n-2的总数
这样递推公式就出来了。。
f(n)=f(n-1)+f(n-2)
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int m,i,j;
for(i=0;i<n;i++)
{
long f3;
int f1=1,f2=1;
scanf("%d",&m);
if(m==1)
{
printf("0\n");
}
else if(m==2)
{
printf("1\n");
}
else
{
for(j=3;j<=m;j++)
{
f3=f1+f2;
f1=f2;
f2=f3;
}
printf("%ld\n",f3);
}
}
}
return 0;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int m,i,j;
for(i=0;i<n;i++)
{
long f3;
int f1=1,f2=1;
scanf("%d",&m);
if(m==1)
{
printf("0\n");
}
else if(m==2)
{
printf("1\n");
}
else
{
for(j=3;j<=m;j++)
{
f3=f1+f2;
f1=f2;
f2=f3;
}
printf("%ld\n",f3);
}
}
}
return 0;
}
0 0
- 2014.11.1题解(2)---杭电2041
- 2014.11.1题解(1)---杭电1003
- 2014.11.1题解(3)---杭电1037
- 2014.11.1题解(4)——杭电2037
- 杭电2033题解
- 杭电2006题解
- 杭电1048题解
- 杭电1049题解
- 杭电1052题解
- 杭电试题分类题解
- 杭电oj1025题解析
- 杭电1039题题解
- 杭电“计算机学院大学生程序设计竞赛(2015’11)”题解【1-3】
- hdu(杭电oj)第一页题目题解
- 杭电hdu 1053 Entropy题解
- 杭电2115题解题报告
- 杭电 1425 sort 题解报告
- 杭电 1071 The area 题解报告
- 开卷有意
- HDU 1595 find the longest of the shortest
- 经典SQL语句大全
- 猴子掰玉米
- rsync参数介绍
- 2014.11.1题解(2)---杭电2041
- log buffer
- bitmap遇到的问题集合
- 为什么seo人员总要看数据
- 新手dp
- android自定义titlebar
- 程序设计课2014年秋第10周学生自检及总结
- 使用pt-table-checksum进行主从数据一致性比对
- Android开发指南-用户界面-创建自定义组件