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")