文章
2
粉丝
133
获赞
1
访问
9.4k
看了正确题解,使用了动态规划算法,走到第n阶时可以是从第n-1阶走一步到达或者从第n-2阶走两步到达,恰好问题可以用斐波那契数列解决。
我用的方法比较笨,就针对一个数N直接计算的,使用组合数进行计算。
#include<stdio.h>
//计算组合数
long long C(int a,int b){
int i;
long long res=1;
if(b>a/2)
b=a-b;
for(i=0;i<b;i++){
res*=a-i;
res/=i+1;
}
return res;
}
int main(){
int i,N,count2;
long long sum;
while(scanf("%d",&N)!=EOF){
count2=N/2;
sum=1;
for(i=1;i<=count2;i++){
sum+=C(N-i,i);
}
printf("%lld\n&quo...
登录后发布评论
暂无评论,来抢沙发