問題描述
小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資(扣除五險一金後、未扣稅前的工資)為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 個人所...