这周搞了爬楼梯那道题,一开始没有思路,不知道从何入手,后来看了点思路提示,发现可以通过组合数来算 —— 其实就是 “从总步数里挑几个 2 步”,把这些情况的组合数加起来。
然后写算组合数的部分,一开始直接算阶乘,结果一直算不对,后来改成循环里一步步乘分子除分母,这才没溢出。接着套了个循环把所有可能的组合数加起来,试了 n=2 的情况,输出是 2,终于得出了最后结果。
这次最大的感受是,有时候题看着是编程题,其实先转成数学问题更简单,而且写代码的时候得绕开那些容易出问题的写法(比如直接算阶乘)。后面打算再试试用别的方法写这题,多对比着练练。