一段python程式碼,
阿新 • • 發佈:2018-12-31
def ss(n,numlist): #功能:用numlist裡面的數字,隨意組合,使它們的和湊成n #給列表排序,將大數放前面,以便先嚐試大數 numlist.sort(reverse=True) #如果n小於最小對的數,嘗試失敗,返回0 if (n<min(numlist)): return '0' #逐一核對,如果n剛好等於numlist列表的某個數,組合成功。 for i in numlist: if n==i: return str(i) #逐一迭代,如果返回的值第一個字元不是0,表示嘗試成功,返回值。 for i in numlist: ti=ss(n-i,numlist) if ti[0]!='0': return ti+'+'+str(i) else: del ti #如果上面有嘗試成功,這句話不會被執行, #以上嘗試失敗,會執行下面的語句,返回0 return '0' for i in range(100,200): t=ss(i,[61,71,17,19]) if t!='0': print(str(i)+"="+t) else: print(str(i)+"=無解!")