Re: 一題很難又很簡單的數學題

看板Math作者 (最是清楚哇她咩)時間2月前 (2024/03/17 22:50), 2月前編輯推噓2(200)
留言2則, 2人參與, 2月前最新討論串2/2 (看更多)
※ 引述《JauJu (教主)》之銘言: : 題目 找到一組A*B約等於704290 : A接近2111且必須是正整數 : B可以到小數第二位 : A*B的答案,乘積如果有小數可以四捨五入變成整數,乘積四捨五入後要等於704290 : (只有小數點後可以四捨五入) : 如何找到一組A跟B能符合答案 : 如果能寫成excel計算更好了 : 求大神解答 乘積四捨五入後要等於704290: 704289.5 <= A*B < 704290.5 ...... (1) B可以到小數第二位: 那麼B 就會試某一個正整數K 除以100 也就是 B = K/100 ......(2) 最後加上 A接近2111且必須是正整數 ..... (3) 這問題可以寫成一個最佳化的問題 min |A-2111| subject to: A,K 正整數 70428950 <= A*K < 70429050 Excel 我不知道你會打算怎麼做,但是Python可以這樣做 import math target = 2111 d = 0 lower_bound = 70428950 upper_bound = 70429050 found = False while (d < target): for candidate in [target-d, target+d]: A = candidate K = math.ceil(lower_bound/A) if A*K < upper_bound: print('A = {}, B = {}'.format(A, K/100)) found = True break if found: break d += 1 我找到的最接近 2111 的 A = 2142, B = 328.8 -- 早川秋看到的未來 https://i.imgur.com/aRFJqId.jpg
https://i.imgur.com/SXPvXGe.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 98.45.195.96 (美國) ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1710687042.A.B17.html

03/17 22:55, 2月前 , 1F
羊羊人真好~
03/17 22:55, 1F

03/17 23:03, 2月前 , 2F
[target-d, target-d] # 應該要 +d 吧?
03/17 23:03, 2F
沒錯 是我程式寫錯了XD 更新一下 ※ 編輯: arrenwu (98.45.195.96 美國), 03/17/2024 23:05:22
文章代碼(AID): #1bzmD2iN (Math)
文章代碼(AID): #1bzmD2iN (Math)