3644 - 走台阶

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

楼梯有NN<=30)级台阶,上一楼可以一步上一级,也可以一步上两级。编一程序计算共有多少种不同走法。

题目输入

每个测试案例占一行,包含一个整数N1<=N<=30

题目输出

对于每个测试数据输出有几种走法,每个输出占一行

输入/输出样例

输入格式

3
7

输出格式

3
21

C语言解答

#include <stdio.h>
int f(int n)
{
	int sum;
	if(n==1)
	return 1;
	if(n==2)
	return 2;
	else
	sum=f(n-1)+f(n-2);
	return sum;
}
int main()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		printf("%d\n",f(n));
	}
	return 0;
}

C++解答

#include <bits/stdc++.h>
using namespace std;
int main()
{
	int n;int d[35];
	d[0]=1,d[1]=1;
	for (int i=2;i<=30;i++) d[i]=d[i-1]+d[i-2];
	while(~scanf("%d",&n)){
		printf("%d\n",d[n]);
	}
	return 0;
}