题解 | #吃糖果#

吃糖果

https://www.nowcoder.com/practice/72015680c32b449899e81f1470836097

n块的吃法可分解为两个子问题:即第一天吃1块,剩下n-1块如何吃;第一天吃2块,剩下n-2块怎么吃。用数学递推方式表示为a(n)=a(n-1)+a(n-2)(且n>=3)

#include <iostream>
using namespace std;

int main() {
    int N;
    while (cin >>N) { // 注意 while 处理多个 case
        // cout << a + b << endl;
        int pre=1;
        int post=2;
        int temp=1;
        if(N==2) temp=2;
        for(int i=3;i<=N;i++){
            temp=pre+post;
            pre=post;
            post=temp;
        }
         cout<<temp<<endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

我即大橘:耐泡王
点赞 评论 收藏
分享
3 收藏 评论
分享
牛客网
牛客企业服务