題目連結:
題目大意:
給定N(1 ≦ N ≦ 30)、M(1 ≦ M ≦ 100000000),代表接下來有N個正整數。
求所有從N個數字挑出一些數字之總和等於M的方法。
解題思維:
可以先把所有數字排序,再開始做事情。
然後用遞迴的方式窮舉所有取數字的方法,取第一個數字、取第二個數字、……取第N個數字、不取第N個數字、不取第N-1個數字……
然後看目前的總合是否等於M。如果等於,則輸出取的結果,並回到上一層的遞迴;如果大於M,則直接回到上一層。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。