推 LSLMH:thanks for your repost! 08/07 20:34
※ 引述《LSLMH (山中無日月)》之銘言:
: 內文恕刪 今天變數又改變了
: 改的讓我不知道如何形容 我只好全部寫出來XD
: : A=151.9*B+76.15*C+50.9*D+10+F
: : 規則是A除以151.9 其整數為B
: : 餘數除以76.15 其整數為C
: : 餘數除以50.9 其整數為D
: : 餘數減10 其值為F
: 舉一個DATA為例 以下為手算的方式
: A(8221.8)=151.9*B(53)+76.15*C(1)+50.9*D(1)+10+F(34.05)
: 希望是得到這樣的結果
: 思考過程是 原本的思路解出來F為9.2,發現F值太小
: 所以將B-1 得到後續解
: 且F>=20
: A~F皆不可為負
既然這樣,就先把A扣掉30,再把F加20,確保F>=20。
B=INT((A-30)/151.9)
C=INT(((A-30)-B*151.9)/76.15)
D=INT(MOD(((A-30)-B*151.9),76.15)/50.9)
F=MOD(MOD(((A-30)-B*151.9),76.15),50.9)+20
起碼測試過A(8221.8)=151.9*B(53)+76.15*C(1)+50.9*D(1)+10+F(34.05)
INT跟MOD出來的結果都會是>=0
也可以不用擔心
應該也可以用規劃求解,但是我太久沒用,忘了。
--
███████ ███████
█ ▌▌▌▌
█ ▌▌▌▌
▌▌▌▌
███████ ▌▌▌▌
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.199.248.180