亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python實現(xiàn)正整數(shù)N等于M個正整數(shù)之和

系統(tǒng) 2239 0

#_*_ coding: UTF-8 _*_
#正整數(shù)N等于M個正整數(shù)之和

import itertools
import sys
import os?
import copy

#參數(shù)說明
#total:表示有多少個數(shù),M
#sum:表示正整數(shù)的和,N
#comb_list:存儲最終輸出的所有列表組合
#tmp_comb_list:臨時最終輸出的所有列表組合
#max_num:當前組合中的最大取值
#num_pos:當前求出的數(shù)值在當前l(fā)ist中保存的位置
def doFindComb(total, sum, comb_list, tmp_comb_list, max_num=1, num_pos=0):
? ? tmp_result = copy.deepcopy(tmp_comb_list)
? ? if(total > sum):
? ? ? ? return
? ? elif(total == sum):
? ? ? ? for i in range(num_pos, total+num_pos):
? ? ? ? ? ? tmp_result[i]=1
? ? ? ? result_data = list(itertools.permutations(tmp_result))
? ? ? ? list_len = len(result_data)
? ? ? ? for i in range(0, list_len):
? ? ? ? ? ? result_data[i] = list(result_data[i])
? ? ? ? for item in result_data:
? ? ? ? ? ? if item not in comb_list:
? ? ? ? ? ? ? ? comb_list.append(item)
? ? ? ? return
? ? elif(total == 1):
? ? ? ? if(sum <= max_num):
? ? ? ? ? ? tmp_result[num_pos]=sum
? ? ? ? ? ? result_data = list(itertools.permutations(tmp_result))
? ? ? ? ? ? list_len = len(result_data)
? ? ? ? ? ? for i in range(0, list_len):
? ? ? ? ? ? ? ? result_data[i] = list(result_data[i])
? ? ? ? ? ? for item in result_data:
? ? ? ? ? ? ? ? if item not in comb_list:
? ? ? ? ? ? ? ? ? ? comb_list.append(item)
? ? ? ? return
? ??
? ? min = int(sum/total)
? ? if(sum % total != 0):
? ? ? ? min = int(sum/total) +1
? ? max = sum-total+1
? ? tmp_list = [0 for x in range(0, total+num_pos)]
? ? for i in range(min, max+1):
? ? ? ? tmp_list = copy.deepcopy(tmp_comb_list)
? ? ? ? tmp_list[num_pos]=i
? ? ? ? doFindComb(total-1, sum-i, comb_list, tmp_list, i, num_pos+1)


'''
comb_list = []
tmp_comb_list = [0 for x in range(0, total)]
total = 5
sum = 20
doFindComb(total, sum, comb_list, tmp_comb_list)
'''
if __name__ == "__main__":
? ? if (len(sys.argv) != 3):
? ? ? ? print("parameter error")
? ? ? ? print("usage: python xxx.py m n")
? ? else:
? ? ? ? total = int(sys.argv[1])
? ? ? ? sum = int(sys.argv[2])
? ? ? ? comb_list = []
? ? ? ? tmp_comb_list = [0 for x in range(0, total)]
? ? ? ? doFindComb(total, sum, comb_list, tmp_comb_list)
? ? ? ? print(comb_list)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品偷伦视频免费观看的 | 日韩精品第三页 | 午夜欧美激情 | 国产成 人 综合 亚洲绿色 | 欧美成人se01短视频在线看 | 黄色一级免费网站 | 伊人久久大香 | 久久综合草 | 99热自拍 | 欧美一级艳片爽快片 | 亚洲精品日韩一区二区 | 狠狠色丁香婷婷综合久久来 | 爱爱精品视频 | 亚欧精品一区二区三区四区 | 五月开心婷婷 | 国产精品原创巨作无遮挡 | 久久刺激 | 久久精品午夜视频 | 26uuu另类欧美亚洲日本 | 精品伊人久久大香线蕉网站 | 亚洲成人精品久久 | 日本免费久久 | 狠狠88综合久久久久综合网 | 欧美色综合图区 | 久热爱免费精品视频在线播放 | 97免费视频在线 | 99精彩免费观看 | 国产二区三区 | 日本久久久久中文字幕 | 涩涩在线观看 | 老司机午夜免费福利 | 国产精品亚洲一区二区三区久久 | 婷婷国产成人久久精品激情 | 欧美伊人久久久久久久久影院 | 色播播影院 | 成人特黄午夜性a一级毛片 成人特级毛片69免费观看 | 日韩一级视频免费观看 | 国产精品男人的天堂 | 亚洲精品久久久午夜伊人 | 国产精品嘿咻嘿咻在线播放 | 国产高清在线精品一区a |