小明家外面有一个长长的楼梯,共N阶。小明的腿很长,一次能跨过一或两阶。有一天,他突发奇想,想求出从最低阶到最高阶共有几种爬楼梯的方案。你帮帮他吧!
一个整数N。
一个整数,为方案总数。
5
8
0≤N≤40
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> #define N 100 using namespace std; long long n,ans,f[N]; int read() { int x=0,f=1; char ch=getchar(); while(ch<‘0‘||ch>‘9‘){if(ch==‘-‘) f=-1; ch=getchar();} while(ch>=‘0‘&&ch<=‘9‘) {x=x*10+ch-‘0‘; ch=getchar();} return x*f; } int main() { n=read(); f[0]=1;f[1]=1; for(int i=2;i<=n;i++) f[i]=f[i-1]+f[i-2]; ans=f[n]; printf("%lld",ans); return 0; }
原文:http://www.cnblogs.com/z360/p/7222874.html