題目
問題描述
小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資(扣除五險一金後、未扣稅前的工資)為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。
思路
1.第一種思路就是逆推,用數學的方法基本計算出來,稅後工資在什麼區間,那麼對應的稅前工資又在什麼區間。在這個區間裡面通過除去這部分的稅就可以簡單計算
2.第二種思路就是順推,迴圈乙個稅前工資範圍,經過一系列的計算它需要交的稅,使某個稅後工資=稅前工資-交稅部分
3.我還遇到了乙個大坑就是。。。原來c++裡面沒有if(a1500 && i<=4500),以至於我之前寫的結果老是出現符合條件但是進不了迴圈。python中似乎是有這種寫法的,語言多了很多東西就會繞( 這個帖子裡有大家關於python是否能這樣用的討論)。anyway,以後還是老老實實寫成if(i>a&&i題解
#includeusingnamespace
std;
intmain()
int q;//
交的稅
for(int i=0;i<=200000;i=i+100
)
else
if(i>1500 && i<=4500
)
else
if(i>4500 && i<=9000
)
else
if(i>9000 && i<=35000
)
else
if(i>35000 && i<=55000
)
else
if(i>55000 && i<=80000
)
else
if(i>80000
)
if(i+3500==q+t)
}
return0;
}
CCF 工資計算
試題編號 201612 2 試題名稱 工資計算 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資 扣除五險一金後 未扣稅前的工資 為s元,則他應交的個人所得稅按如下公式計算 1 個人所...
ccf 工資計算
問題描述 小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資 扣除五險一金後 未扣稅前的工資 為s元,則他應交的個人所得稅按如下公式計算 1 個人所得稅起徵點為3500元,若s不超過3500,則不交稅,3500元以上的部分才計算個人所得稅,令a s 35...
ccf 工資計算
問題描述 小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資 扣除五險一金後 未扣稅前的工資 為s元,則他應交的個人所得稅按如下公式計算 1 個人所得稅起徵點為3500元,若s不超過3500,則不交稅,3500元以上的部分才計算個人所得稅,令a s 35...