作者arrenwu (最是清楚哇她咩)
看板Math
標題Re: 一題很難又很簡單的數學題
時間Sun Mar 17 22:50:40 2024
※ 引述《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
推 cuteSquirrel: 羊羊人真好~ 03/17 22:55
推 LPH66 : [target-d, target-d] # 應該要 +d 吧? 03/17 23:03
沒錯 是我程式寫錯了XD 更新一下
※ 編輯: arrenwu (98.45.195.96 美國), 03/17/2024 23:05:22