問題已解決

一組數(shù)據(jù)里面求和指定數(shù)據(jù)的組合嗎,比如我想查找哪些數(shù)據(jù)求和等于1萬,這個(gè)誰知道

84785043| 提問時(shí)間:2023 09/16 14:08
溫馨提示:如果以上題目與您遇到的情況不符,可直接提問,隨時(shí)問隨時(shí)答
速問速答
Anan老師
金牌答疑老師
職稱:注冊(cè)會(huì)計(jì)師,稅務(wù)師,中級(jí)會(huì)計(jì)師
同學(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é)果把
描述你的問題,直接向老師提問
0/400
      提交問題

      您有一張限時(shí)會(huì)員卡待領(lǐng)取

      00:10:00

      免費(fèi)領(lǐng)取
      Hi,您好,我是基于人工智能技術(shù)的智能答疑助手,如果有什么問題可以直接問我呦~