問題已解決
一組數(shù)據(jù)里面求和指定數(shù)據(jù)的組合嗎,比如我想查找哪些數(shù)據(jù)求和等于1萬,這個(gè)誰知道
溫馨提示:如果以上題目與您遇到的情況不符,可直接提問,隨時(shí)問隨時(shí)答
速問速答同學(xué),你好
對(duì)于給定一組數(shù)據(jù),尋找滿足特定條件的數(shù)據(jù)組合求和等于1萬這個(gè)問題,可以通過編程或數(shù)學(xué)算法來解決。這個(gè)過程叫做組合總和問題,在計(jì)算機(jī)科學(xué)中有多種解決方案,比如回溯算法、動(dòng)態(tài)規(guī)劃等。
如果你具體有一組數(shù)據(jù),可以使用編程語言(如Python)編寫代碼來解決這個(gè)問題。以下是一個(gè)簡單的示例代碼,展示了如何使用回溯算法在給定的數(shù)據(jù)中找到和為1萬的組合:
def?find_combinations(nums,?target):
????result?=?[]
????current?=?[]
????def?backtrack(remaining,?start):
????????if?remaining?==?0:
????????????result.append(list(current))
????????????return
????????if?remaining?<?0:
????????????return
????????for?i?in?range(start,?len(nums)):
????????????current.append(nums[i])
????????????backtrack(remaining?-?nums[i],?i)
????????????current.pop()
????backtrack(target,?0)
????return?result
data?=?[100,?200,?300,?400,?500,?600,?700,?800,?900,?1000]target_sum?=?10000combinations?=?find_combinations(data,?target_sum)print(combinations)
請(qǐng)注意,這只是一個(gè)簡單的示例代碼,并不考慮性能或復(fù)雜度的優(yōu)化。如果你具體的數(shù)據(jù)集較大或需求較為復(fù)雜,可能需要更精細(xì)的算法設(shè)計(jì)。
2023 09/16 14:20
84785043
2023 09/16 14:21
我能把EXCEL表發(fā)你,你幫我看看嗎
Anan老師
2023 09/16 14:22
可以,但是老師也是試試,不能保證
84785043
2023 09/16 14:23
有QQ郵箱嗎,我發(fā)給您,幫我看下
Anan老師
2023 09/16 14:25
同學(xué),
以下為郵箱地址~~~:
215411588@**.com
84785043
2023 09/16 14:31
資料已經(jīng)發(fā)過去了
Anan老師
2023 09/16 14:35
好的,收到了,我先查看下,如有問題我們?cè)贉贤?/div>
84785043
2023 09/16 15:55
你好,我的表格研究出來了嗎
Anan老師
2023 09/16 15:56
同學(xué),我這會(huì)有點(diǎn)急事在外面,晚上回去研究下~,可以嗎?
84785043
2023 09/16 15:58
好的,謝謝
84785043
2023 09/17 06:17
老師昨天研究咋樣?
Anan老師
2023 09/17 07:51
同學(xué),你好
昨天晚上研究一晚上,之前的方法實(shí)際操作上有點(diǎn)問題,我再試試別的方法
Anan老師
2023 09/17 08:02
我正在用高級(jí)篩選或者求和約束試試~·
Anan老師
2023 09/17 10:54
同學(xué),老師咨詢了專業(yè)人士:匹配發(fā)貨金額和收款金額,以使一些發(fā)貨金額的部分之和等于另一個(gè)收款金額,可以嘗試使用以下步驟進(jìn)行匹配:
1.將發(fā)貨金額和收款金額數(shù)據(jù)輸入到Python中,可以使用pandas庫來處理和分析數(shù)據(jù)。
2.對(duì)于每個(gè)收款金額,找到所有發(fā)貨金額的組合,使得它們的部分之和等于該收款金額??梢允褂眠f歸或迭代的方法來找到所有可能的組合。可以考慮使用回溯算法或動(dòng)態(tài)規(guī)劃方法來解決這個(gè)問題。
3.在找到匹配的組合后,可以將這些組合記錄下來,以便后續(xù)使用。你可以創(chuàng)建一個(gè)數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)匹配的發(fā)貨金額和收款金額的對(duì)應(yīng)關(guān)系,例如使用字典或DataFrame。
使用回溯算法來找到發(fā)貨金額和收款金額的匹配組合:
import?pandas?as?pd#?讀取數(shù)據(jù)data?=?pd.read_excel(your_data.xlsx)??#?從Excel中讀取數(shù)據(jù),假設(shè)數(shù)據(jù)包含兩列:發(fā)貨金額和收款金額#?目標(biāo)收款金額target_payment?=?1000?#?存儲(chǔ)匹配組合matches?=?[]#?回溯算法def?find_matches(remaining_amt,?curr_match):
????if?remaining_amt?==?0:
????????matches.append(curr_match.copy())
????elif?remaining_amt?<?0:
????????return
????else:
????????for?i,?row?in?data.iterrows():
????????????shipping_amt?=?row[發(fā)貨金額]
????????????if?shipping_amt?<=?remaining_amt:
????????????????curr_match.append((shipping_amt,?row[收款金額]))
????????????????find_matches(remaining_amt?-?shipping_amt,?curr_match)
????????????????curr_match.pop()#?開始匹配find_matches(target_payment,?[])#?打印匹配結(jié)果for?match?in?matches:
????print(發(fā)貨金額??收款金額)
????for?s_amt,?p_amt?in?match:
????????print(f{s_amt}t{p_amt})
????print(=*15)
我在嘗試安裝某些軟件來完成,也依然不能保證,你也可以試著研究下,我們互相探討~
希望這能幫到你!如果有任何進(jìn)一步的問題,請(qǐng)隨時(shí)提問。
84785043
2023 09/17 11:23
老師能幫忙直接處理好嗎
Anan老師
2023 09/17 11:29
我在嘗試想辦法,在試。。
Anan老師
2023 09/17 11:55
同學(xué),你好
首先,兩邊的金額合計(jì)不相等,不好匹配,另外,有沒有對(duì)應(yīng)的別的比如單號(hào)或者合同號(hào)等信息。
84785043
2023 09/17 12:19
沒有老師
Anan老師
2023 09/17 12:44
老師今天先研究,也找了別的老師再幫忙看,最終行或不行。。??磭L試的結(jié)果把
閱讀 4827
描述你的問題,直接向老師提問
相關(guān)問答
查看更多- 這樣一組數(shù)據(jù)剔除劃線部分 其他部分求和 怎么做呢 這樣一組數(shù)據(jù)剔除劃線部分 其他部分求和 怎么做呢 這樣一組數(shù)據(jù)剔除劃線部分 其他部分求和 怎么做呢 這樣一組數(shù)據(jù)剔除劃線部分 其他部分求和 怎么做呢 這樣一組數(shù)據(jù)剔除劃線部分 其他部分求和 怎么做呢 這樣一組數(shù)據(jù)剔除劃線部分 其他部分求和 怎么做呢 644
- 我這邊數(shù)據(jù)透視表想保存這么多求和項(xiàng)數(shù)據(jù),但是我這邊也想把數(shù)據(jù)透視圖里面求和項(xiàng)刪掉,該怎么做 2317
- 我想把表格里的數(shù)據(jù)求和,比如蘋果求和 梨子求和 分類求和怎么弄 823
- 我這邊數(shù)據(jù)透視表想保存這么多求和項(xiàng)數(shù)據(jù),但是我這邊也想把數(shù)據(jù)透視圖里面求和項(xiàng)刪掉,該怎么做,我選擇一個(gè)選項(xiàng)一表,一圖可以同時(shí)變動(dòng)的 1953
- 老師好,我想問個(gè)SUM求和人公式的問題,就是求和后不顯示數(shù)據(jù),求和內(nèi)容也是公式計(jì)算過來的數(shù)據(jù) 869