6 条题解

  • 2
    @ 2025-11-22 15:52:37

    包AC

    方法1

    #include<bits/stdc++.h>
    using namespace std;
    int a,aa[1010];
    int main(){
        aa[0]=1;
        aa[1]=1;
        aa[2]=2;
        for(int i=3; i<20; i++){
            aa[i]=(aa[i-1]+aa[i-2]+aa[i-3]);
        }
        while(cin >> a) {
            if(a==0) break;
            cout << aa[a] << endl;
            
        }
        return 0;
    }
    

    方法2

    #include<bits/stdc++.h>
    using namespace std;
    int f(int n){
    	if(n==1)return 1;
    	if(n==2)return 2;
    	return f(n-1)+f(n-2);
    } 
    int n,m;
    int main(){
    	while(cin >> n){
    		if(n==0) return 0;
    		cout<<f(n) << "\n";
    	}
    	return 0;
    }
    
    

    信息

    ID
    1595
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    451
    已通过
    153
    上传者