#include<iostream>
using namespace std;
int step(int x){
if(x==1) return 1;
if(x==2) return 2;
if(x==3) return 4;
return step(x-1)+step(x-2)+step(x-3);
}
int main(){
int a;
while(cin>>a){
if(a==0){
break;
}
cout<<step(a)<<endl;
}
return 0;
}
共 4 条回复
#include <bits/stdc++.h> using namespace std; long long n, a[101] = { 1, 2, 4 }; int main() { for (int i = 3; i < 71; i++) { a[i] = a[i - 1] + a[i - 2] + a[i - 3]; } while (cin >> n && n != 0) { cout << a[n - 1] << endl; } return 0; }
用递推。
QWQ
我也超时了