Re: 一題很難又很簡單的數學題
※ 引述《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
--
※ 發信站: 批踢踢實業坊(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
03/17 23:03, 2F
沒錯 是我程式寫錯了XD 更新一下
※ 編輯: arrenwu (98.45.195.96 美國), 03/17/2024 23:05:22
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):