提交时间:2024-02-21 16:38:51

运行 ID: 41514

#include<bits/stdc++.h> using namespace std; long long ns[100]={}; long long up(int n){ if(n<=3){ switch(n){ case 1:return 1;break; case 2:return 2;break; case 3:return 4;break; } } if(ns[n]!=0) return ns[n]; ns[n]=up(n-1)+up(n-2)+up(n-3); return ns[n]; } int main(){ int num,j=0; while(true){ cin>>num; if(num==0){ break; }else{ ns[j]=up(num); j++; } } for(int i=0;i<j;i++){ cout<<ns[i]<<endl; } return 0; }