问题标题: 3237

0
0
胡景轩
胡景轩
资深守护
资深守护

小明现在玩一款游戏,就是在野外打怪物,一直升级的游戏。现在升级需要积攒经验值,获取的方法就是击败怪物,有两种怪物分别是普通怪和精英怪,这两种怪物击败分别会获得1点经验值和3点经验值。现在已知怪物有很多很多,请问小明想积攒恰n点经验值,可以有多少种方法?

 

 

#include<iostream>
#include<cstdio>
#include<cmath> 
#include<string> 
#include<algorithm>
#include<cstring>
using namespace std;
int n;
long long a[55];
long long f(int n){
    if(n){
        return 1;
    }
    return f(n-1)+1;
}
int main(){
    cin>>n;
    cout<<f(n);
    return 0;
}

 


0
0
0
崔子周
崔子周
高级天翼
高级天翼

递归条件改成:
 

int f(int n){
    if(n==1||n==2) return 1;
    if(n==3) return 2;
    return f(n-1)+f(n-3);
}

 

我要回答