试题编号: | 201612-2 |
试题名称: | 工资计算 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算: 输入格式 输入的第一行包含一个整数T,表示小明的税后所得。所有评测数据保证小明的税前工资为一个整百的数。 输出格式 输出一个整数S,表示小明的税前工资。 样例输入 9255 样例输出 10000 评测用例规模与约定 对于所有评测用例,1 ≤ T ≤ 100000。 |
一、问题分析
题中说明 所有评测数据保证小明的税前工资为一个整百的数,所以我们可以使用暴力搜索
二、满分代码
t = int(input()) # t为税后工资,i为税前工资
ans = 0
for i in range(100, 200000, 100):
temp = i - 3500
if temp <= 0:
ans = i
elif temp <= 1500:
ans = temp * 0.97 + 3500
elif temp <= 4500:
ans = (temp-1500)*0.9+1500*0.97+3500
elif temp <= 9000:
ans = (temp-4500)*0.8+3000*0.9+1500*0.97+3500
elif temp <= 35000:
ans = (temp-9000)*0.75+4500*0.8+3000*0.9+1500*0.97+3500
elif temp <= 55000:
ans = (temp-35000)*0.7+(35000-9000)*0.75++4500*0.8+3000*0.9+1500*0.97+3500
elif temp <= 80000:
ans = (temp-55000)*0.65+(55000-35000)*0.7+(35000-9000)*0.75++4500*0.8+3000*0.9+1500*0.97+3500
elif temp >= 80000:
ans = (temp-80000)*0.55+(80000-55000)*0.65+(55000-35000)*0.7+(35000-9000)*0.75++4500*0.8+3000*0.9+1500*0.97+3500
if ans == t:
print(i)