本質上就是初中學的分段函式,可以計算各情況下稅後工資的值域,判斷當前工資的範圍進而進行還原。
不過本題比較特殊規定了稅前工資整百的特性並且有乙個最大值,這使得我們可以按照正向計算的方式窮舉出稅前工資。這個條件是我在敲完後才發現的所以便沒有額外實現,實現起來應該比反向要簡單。
#include
using
namespace std;
intmain()
;double tax[7]
=;double bound[7]
=;double rate[8]
=;double rand[7]
=;for(
int i=
0; i<
7; i++
) sum[i]
+=rand[i]
; tax[i]
+=rand[i]
*rate[i]
; bound[i]
+=rand[i]*(
1.0-rate[i]);
}double t,s;
cin>>t;
for(
int i=
0; i<
7; i++)if
(i==6)
s=(t+tax[6]
-sum[6]
*rate[7]
)/(1
-rate[7]
);} cout<
return0;
}
#include
using
namespace std;
intmain()
;double rand[8]
=;while
(cin>>s)}}
cout<
}return0;
}
CCF 201612 2 工資計算
問題描述 小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資 扣除五險一金後 未扣稅前的工資 為s元,則他應交的個人所得稅按如下公式計算 1 個人所得稅起徵點為3500元,若s不超過3500,則不交稅,3500元以上的部分才計算個人所得稅,令a s 35...
CCF201612 2工資計算
問題描述 小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資 扣除五險一金後 未扣稅前的工資 為s元,則他應交的個人所得稅按如下公式計算 1 個人所得稅起徵點為3500元,若s不超過3500,則不交稅,3500元以上的部分才計算個人所得稅,令a s 35...
CCF201612 2工資計算
問題描述 小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資 扣除五險一金後 未扣稅前的工資 為s元,則他應交的個人所得稅按如下公式計算 1 個人所得稅起徵點為3500元,若s不超過3500,則不交稅,3500元以上的部分才計算個人所得稅,令a s 35...