【CCF】工資計算
- 2019 年 11 月 8 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/weixin_42449444/article/details/84966799
試題編號: |
201612-2 |
---|---|
試題名稱: |
工資計算 |
時間限制: |
1.0s |
記憶體限制: |
256.0MB |
問題描述: |
問題描述 小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他一個月的稅前工資(扣除五險一金後、未扣稅前的工資)為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。 |
解題思路:
找規律是不可能找規律的,這輩子都只會暴力破解。
100分程式碼: #include <bits/stdc++.h> using namespace std; int main() { int T,S; // T為稅後工資,S為稅前工資 cin >> T; if (T <= 3500) { S = T; } else if (T <= 4955) { S = ((T - 3500) / 97) * 100 + 3500; } else if (T <= 7655) { S = (T - 4955) / 90 * 100 + 5000; } else if (T <= 11255) { S = (T - 7655) / 80 * 100 + 8000; } else if (T <= 30755) { S = (T - 11255) / 75 * 100 + 12500; } else if (T <= 44755) { S = (T - 30755) / 70 * 100 + 38500; } else if (T <= 61005) { S = (T - 44755) / 65 * 100 + 58500; } else { S = (T - 61005) / 55 * 100 + 83500; } cout << S << endl; return 0; }