试题编号: | 201612-2 |
试题名称: | 工资计算 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: |
问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算: 输入格式 输入的第一行包含一个整数T,表示小明的税后所得。所有评测数据保证小明的税前工资为一个整百的数。 输出格式 输出一个整数S,表示小明的税前工资。 样例输入 9255 样例输出 10000 评测用例规模与约定 对于所有评测用例,1 ≤ T ≤ 100000。 |
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<map>
using namespace std;
map<int,int> ma;
void init(){
for(int i=100;i<=100000;i+=100){
int sum=0;
if(i<=3500){
ma[i]=i;
}
else{
int fz=i-3500;
if(fz<=1500){
sum=fz*0.03;
}
else if(fz<=4500){
sum=45+(fz-1500)*0.1;
}
else if(fz<=9000){
sum=45+300+(fz-4500)*0.2;
}
else if(fz<=35000){
sum=45+300+900+(fz-9000)*0.25;
}
else if(fz<=55000){
sum=45+300+900+6500+(fz-35000)*0.3;
}
else if(fz<=80000){
sum=45+300+900+6500+6000+(fz-55000)*0.35;
}
else if(fz>80000){
sum=45+300+900+6500+6000+8750+(fz-80000)*0.45;
}
int cnt=i-sum;
ma[i-sum]=i;
}
}
}
int main(){
init();
int t;
cin>>t;
cout<<ma[t];
return 0;
}
欢迎大家加入 早起学习群,一起学习一起进步!(群号:642179511)