CCF 201612-2 工资计算 python 满分
题目叙述问题描述:略输入格式:略输出格式:略样例
满分证明解题思路满分代码
题目叙述
问题描述:略
输入格式:略
输出格式:略
样例
样例输入
9255
样例输出
10000
新增样例
样例输入
70080
样例输出
100000
满分证明
解题思路
判断是在哪个层次,然后解一元一次方程(我是用的笨办法,不会高级的o(╥﹏╥)o)
55000/0.55=99999.999999999999
注意用math模块的ceil取整
设输入为x,输出为y 以x=9255,y=10000 y=x+45+300+(y-3500-4500)*0.2 y=[x+45+300-(3500+4500)*0.2]/(1-0.2)
满分代码
import math
n
= eval(input())
if n
<= 3500:
print(n
)
elif n
<= 3500 + 1500 * 0.97:
print(math
.ceil((n
+
(- 3500) * 0.03) / (1 - 0.03)))
elif n
<= 3500 + 1500 * 0.97 + 3000 * 0.9:
print(math
.ceil((n
+ 1500 * 0.03 +
(- 3500 - 1500) * 0.1) / (1 - 0.1)))
elif n
<= 3500 + 1500 * 0.97 + +3000 * 0.9 + 4500 * 0.8:
print(math
.ceil((n
+ 1500 * 0.03 + 3000 * 0.1 +
(- 3500 - 1500 - 3000) * 0.2) / (1 - 0.2)))
elif n
<= 3500 + 1500 * 0.97 + +3000 * 0.9 + 4500 * 0.8 + 26000 * 0.75:
print(math
.ceil((n
+ 1500 * 0.03 + 3000 * 0.1 + 4500 * 0.2 +
(- 3500 - 1500 - 3000 - 4500) * 0.25) / (1 - 0.25)))
elif n
<= 3500 + 1500 * 0.97 + +3000 * 0.9 + 4500 * 0.8 + 26000 * 0.75 + 20000 * 0.7:
print(math
.ceil((n
+ 1500 * 0.03 + 3000 * 0.1 + 4500 * 0.2 + 26000 * 0.25 +
(- 3500 - 1500 - 3000 - 4500 - 26000) * 0.3) / (1 - 0.3)))
elif n
<= 3500 + 1500 * 0.97 + +3000 * 0.9 + 4500 * 0.8 + 26000 * 0.75 + 20000 * 0.7 + 25000 * 0.65:
print(math
.ceil((n
+ 1500 * 0.03 + 3000 * 0.1 + 4500 * 0.2 + 26000 * 0.25 + 20000 * 0.3 +
(- 3500 - 1500 - 3000 - 4500 - 26000 - 20000) * 0.35) / (1 - 0.35)))
else:
print(math
.ceil((n
+ 1500 * 0.03 + 3000 * 0.1 + 4500 * 0.2 + 26000 * 0.25 + 20000 * 0.3 + 25000 * 0.35 +
(- 3500 - 1500 - 3000 - 4500 - 26000 - 20000 - 25000) * 0.45) / (1 - 0.45)))