1. 程式人生 > >【CCFCSP】201612-2 工資計算

【CCFCSP】201612-2 工資計算

試題編號: 201612-2
試題名稱: 工資計算
時間限制: 1.0s
記憶體限制: 256.0MB

因為題目中稅後工資最多隻有100000,所以可以從稅前工資1遍歷到一個售後能大於100000的工資數,每次計算在這個工資下的稅後工資,和輸入相比較,如果相等就輸出。

//計算稅後工資
int after_tax(int t) {
    double tax = 0;
    int tmp;
    if (t <= 3500)
        return t;
    else {
        //分別計算每一部分的工資
        t -= 3500;
        tmp = t;
        if
(t > 1500) tmp = 1500; tax += tmp*0.03; t -= 1500; if (t > 0) { tmp = t; if (t > 3000) tmp = 3000; tax += tmp*0.1; t -= 3000; if (t > 0) { tmp = t; if (t > 4500) tmp = 4500
; tax += tmp * 0.2; t -= 4500; if (t > 0) { tmp = t; if (t > 26000) tmp = 26000; tax += tmp * 0.25; t -= 26000; if (t > 0) { tmp = t; if
(t > 20000) tmp = 20000; tax += tmp * 0.3; t -= 20000; if (t > 0) { tmp = t; if (t > 25000) tmp = 25000; tax += tmp * 0.35; t -= 25000; if (t > 0) tax += t * 0.45; } } } } } } return t - tax; } int main() { int T; cin >> T; for (int i = 1; i <= 200000; i++) { if (after_tax(T) == i) { cout << i << endl; return 0; } } }