50分求助
查看原帖
50分求助
722834
leosana楼主2023/9/17 22:39
#include<iostream>
using namespace std;
const int maxn=25;
int main(){
	int a,n,m,x;
	int f[maxn],b[maxn],c[maxn];
	int num1=0,num2=0;
	b[2]=0,b[3]=1;
	c[2]=1,c[3]=1;
	cin>>a>>n>>m>>x;
	for(int i=2;i<=n-3;i++){
		b[i+2]=b[i]+b[i+1];
		num1+=b[i];
		c[i+2]=c[i]+c[i+1];
		num2+=c[i];
	} 
	f[3]=a;
	f[2]=((m-2*a)-num1*a)/num2;
	if(x==n-1){
		cout<<m;
		return 0;
	} 
	if(x==n){
		cout<<m;
		return 0;
	} 
	if(x>3&&x<n-1){
		for(int i=4;i<n-1;i++){
			f[i]=f[i-1]+f[i-2];
			
		}
	cout<<f[x]+a;
	return 0;
	}

}
2023/9/17 22:39
加载中...