ccf 201612-2 工资结算

#include<iostream>
using namespace std;
double f(double  m){
	if(m<=1500){
		return m*3/100;
	}else if(m<=4500){
		return f(1500)+(m-1500)/10;
	}else if(m<=9000){
		return f(4500)+(m-4500)/5;
	}else if(m<=35000){
		return f(9000)+(m-9000)/4;
	}else if(m<=55000){
		return f(35000)+(m-35000)*3/10;
	}else if(m<=80000){
		return f(55000)+(m-55000)*35/100;
	}else {
		return f(80000)+(m-80000)*45/100;
	}
}

double ff(double  m){
	if(m<=1455){
		return m*100/97;
	}else if(m<=4155){
		m+= f(1500);
		m-=1500;
		m=m*10/9;
		m+=1500;
		return m;
	}else if(m<=7725){
		m+= f(4500);
		m-=4500;
		m=m*10/8;
		m+=4500;
		return m;
	}else if(m<=27255){
		m+= f(9000);
		m-=9000;
		m=m*100/75;
		m+=9000;
		return m;
	}else if(m<=41255){
		m+= f(35000);
		m-=35000;
		m=m*10/7;
		m+=35000;
		return m;
	}else if(m<=57505){
		m+= f(55000);
		m-=55000;
		m=m*100/65;
		m+=55000;
		return m;
	}else {
		m+= f(80000);
		m-=80000;
		m=m*100/55;
		m+=80000;
		return m;
	}
}
int main(){
	int t;cin>>t;
	if(t<=3500){
		cout<<t<<endl;
		return 0;
	}
	t-=3500;
	cout<<ff(t)+3500;

//cout<<1500-f(1500)<<endl;
//cout<<4500-f(4500)<<endl;
//cout<<9000-f(9000)<<endl;
//cout<<35000-f(35000)<<endl;
//cout<<55000-f(55000)<<endl;
//cout<<80000-f(80000)<<endl;

	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_36160277/article/details/81983615