1.关于正确题解
看了正确题解,使用了动态规划算法,走到第n阶时可以是从第n-1阶走一步到达或者从第n-2阶走两步到达,恰好问题可以用斐波那契数列解决。
2.我的题解
我用的方法比较笨,就针对一个数N直接计算的,使用组合数进行计算。
算法思路:
计算N阶上楼最多上2步的数量count2=N/2;
从i=0~count2开始遍历,使用组合数C(N-i,i)计算使用i次2步的上楼情况数量,累加得到sum,即为总的上楼情况数。
代码:
#include<stdio.h>
//计算组合数
long long C(int ...