#include\u0020 using\u0020namespace\u0020std;

//\u0020计算走法数的函数 int\u0020calculateWays(int\u0020n)\u0020{ \u0020\u0020if\u0020(n\u0020==\u00201)\u0020{ \u0020\u0020\u0020\u0020return\u00201; //\u0020如果楼梯只有一级,只有一种走法 \u0020\u0020} \u0020\u0020if\u0020(n\u0020==\u00202)\u0020{ \u0020\u0020\u0020\u0020return\u00202; //\u0020如果楼梯有两级,有两种走法:一次走一级,或者一次走两级 \u0020\u0020} \u0020\u0020int\u0020ways[n+1]; \u0020\u0020ways[1]\u0020=\u00201; \u0020\u0020ways[2]\u0020=\u00202; \u0020\u0020for\u0020(int\u0020i\u0020=\u00203; i\u0020<=\u0020n; i++)\u0020{ \u0020\u0020\u0020\u0020ways[i]\u0020=\u0020ways[i-1]\u0020+\u0020ways[i-2]; //\u0020第i级楼梯的走法数等于前一级和前两级的走法数之和 \u0020\u0020} \u0020\u0020return\u0020ways[n]; }

int\u0020main()\u0020{ \u0020\u0020int\u0020k; \u0020\u0020cin\u0020>>\u0020k; //\u0020输入数据组数 \u0020\u0020for\u0020(int\u0020i\u0020=\u00200; i\u0020<\u0020k; i++)\u0020{ \u0020\u0020\u0020\u0020int\u0020n; \u0020\u0020\u0020\u0020cin\u0020>>\u0020n; //\u0020输入楼梯级数 \u0020\u0020\u0020\u0020int\u0020ways\u0020=\u0020calculateWays(n); \u0020\u0020\u0020\u0020cout\u0020<<\u0020ways\u0020<<\u0020endl; //\u0020输出不同的走法数 \u0020\u0020} \u0020\u0020return\u00200; }

C++ 代码实现爬楼梯问题:计算不同走法数

原文地址: https://www.cveoy.top/t/topic/nXLD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录