您的位置:首页 > 其它

爬楼梯问题,一共有n阶台阶,每次你可以走1或者2个台阶,到达顶端一共有多少种不同的走法?

2014-05-11 09:43 741 查看
典型的动态规划问题,和斐波那契问题的区别就是初值不同了。

#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;

int climbstairs(int n)
{
	int a[10001]={0};
	int i;
	a[0]=0;
	a[1]=1;
	a[2]=2;
	if(n>10000)
		return 0;
	for(i=3;i<=n;++i)
	{
		a[i]=a[i-1]+a[i-2];
	}
	return a
;
}
int _tmain(int argc, _TCHAR* argv[])
{
	cout<<climbstairs(4)<<endl;
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐