全部评论 2

  • 显然,在极限数据下,会爆 int

    1周前 来自 浙江

    0
  • 你好同学,这道题我们可以看一下数据范围,当N>=46时,int是否会溢出,显然会,所以用long long

    #include <iostream>
    using namespace std;
    
    long long climbStairs(int n) {
        long long a = 1, b = 1, c;
        for (int i =2; i <=n; i++) {
            c = a + b;
            a = b;
            b = c;
        }
        return b;
    }
    
    int main() {
        int N;
        cin >> N;
        cout << climbStairs(N);
        return 0;
    }
    

    当然,此题可以不用函数

    #include <iostream>
    using namespace std;
    int main() {
        int N;
        cin >> N;
         long long a = 1, b = 1, c;
        for (int i =2; i <=N; i++) {
            c = a + b;
            a = b;
            b = c;
        }
        cout<<b;
    
        return 0;
    }
    希望看见了对你有帮助

    1周前 来自 上海

    0
暂无数据

提交答案之后,这里将显示提交结果~

首页