201612 2 工資計算

2021-08-07 05:00:17 字數 1658 閱讀 9599

問題描述

小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資(扣除五險一金後、未扣稅前的工資)為s元,則他應交的個人所得稅按如下公式計算:

1) 個人所得稅起徵點為3500元,若s不超過3500,則不交稅,3500元以上的部分才計算個人所得稅,令a=s-3500元;

2) a中不超過1500元的部分,稅率3%;

3) a中超過1500元未超過4500元的部分,稅率10%;

4) a中超過4500元未超過9000元的部分,稅率20%;

5) a中超過9000元未超過35000元的部分,稅率25%;

6) a中超過35000元未超過55000元的部分,稅率30%;

7) a中超過55000元未超過80000元的部分,稅率35%;

8) a中超過80000元的部分,稅率45%;

例如,如果小明的稅前工資為10000元,則a=10000-3500=6500元,其中不超過1500元部分應繳稅1500×3%=45元,超過1500元不超過4500元部分應繳稅(4500-1500)×10%=300元,超過4500元部分應繳稅(6500-4500)×20%=400元。總共繳稅745元,稅後所得為9255元。

已知小明這個月稅後所得為t元,請問他的稅前工資s是多少元。

輸入格式

輸入的第一行包含乙個整數t,表示小明的稅後所得。所有評測資料保證小明的稅前工資為乙個整百的數。

輸出格式

輸出乙個整數s,表示小明的稅前工資。

樣例輸入

9255

樣例輸出

10000

評測用例規模與約定

對於所有評測用例,1 ≤ t ≤ 100000。

思路:

稅前工資s,該區間最大稅款max_tax,稅率tax_rate,該工資區間最大應繳稅款tax

程式中連續分支語句中的s變數其實是表中的a,a = (t - 所在區間t的最小值)/tax_rate + 所在區間a的最小值。 s = a + 3500

#includeusing namespace std;

int main()

if(t >= 61005)

s = (t - 61005)/0.55 + 80000;

else if (t >= 44755)

s = (t - 44755)/0.65 + 55000;

else if (t >= 30755)

s = (t - 30755)/0.7 + 35000;

else if (t >= 11255)

s = (t - 11255)/0.75 + 9000;

else if (t >= 7655)

s = (t - 7655)/0.8 + 4500;

else if(t >= 4955)

s = (t - 4955)/0.9 + 1500;

else if (t > 3500)

s = (t-3500)/0.97;

s += 3500;

cout << s << endl;

} return 0;

}

201612 2工資計算

問題描述 小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資 扣除五險一金後 未扣稅前的工資 為s元,則他應交的個人所得稅按如下公式計算 1 個人所得稅起徵點為3500元,若s不超過3500,則不交稅,3500元以上的部分才計算個人所得稅,令a s 35...

工資計算201612 2

要點 所有工資都是整數,在用除法的時候,分子 分母都要先化為整數,以免浮點數在計算的時候產生誤差。includeusing namespace std int main else if t 3500 1500 1500 0.03 else if t 3500 4500 1500 0.03 3000 ...

201612 2 工資計算

試題編號 201612 2 試題名稱 工資計算 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資 扣除五險一金後 未扣稅前的工資 為s元,則他應交的個人所得稅按如下公式計算 1 個人所...