试题编号: | 201612-2 |
试题名称: | 工资计算 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算: 输入格式 输入的第一行包含一个整数T,表示小明的税后所得。所有评测数据保证小明的税前工资为一个整百的数。 输出格式 输出一个整数S,表示小明的税前工资。 样例输入 9255 样例输出 10000 评测用例规模与约定 对于所有评测用例,1 ≤ T ≤ 100000。 |
c++:
#include <iostream>
using namespace std;
long long f(long long money){
money=money>3500?money-3500:0;
//
int n=7;
long long sf[n][2]={{0,3},{1500,10},{4500,20},{9000,25},{35000,30},{55000,35},{80000,45}};
long long tax=0;
for(int i=n-1; i>=0; i--){
tax+= (money>sf[i][0]?money-sf[i][0]:0)*sf[i][1];
money=min(money,sf[i][0]);
}
return tax/100;
}
int main(){
int money;cin>>money;
for(int i=money/100;true;i++){
if(i*100-f(i*100)==money){
cout<<i*100;
break;
}
}
return 0;
}