递推—猴子爬山

题目描述:
在这里插入图片描述算法思想:
初始条件:f[1]=1,f[2]=1(2=1+1),f[3]=2(3=1+1+1=3);
开始跳跃:当一步跳3步的爬法为f[i-3],当一步跳1步的爬法为f[i-1],所以第i级阶梯的爬法为f[i]=f[i-1]+f[i-3]

全部代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

const int N = 1e6;
int f[N],n;

int main(){
    
    
	cin>>n;
	// 初始化
	f[1] = 1;f[2] = 1;f[3] = 2;
	for(int i=4;i<=n;i++)
		f[i] = f[i-1]+f[i-3];
	cout<<f[n]<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_45666249/article/details/115021965
今日推荐