2010-04-20 41 views
0

寫一個程序其中,由於高達10個的整數和總和的清單,將顯示一個子集如果存在的話,那麼其總數是該總數的數字,或者表示否則不存在。例如,對於清單:5,13,​​24,9,3,3和總和= 28,你的程序應該顯示13,9,3,3給出最多10個整數數字和的總和的清單,將顯示其總的數目的一個子集是總和

如何做到這一點在C++中使用遞歸函數?

+0

應該把它輸出的所有可能的子集或只是一個? – 2010-04-20 21:24:06

+2

這是功課?無論如何,答案不會幫助你成爲更好的程序員。告訴我們你自己做了什麼,然後我們可以嘗試提供幫助。 – 2010-04-20 21:31:32

回答

1

遞歸函數實際上不是這樣做的最簡單的或最快的方法,但你可以寫一個函數,它所需的款項和整數列表。

該函數一次遍歷列表中的一個元素,對於每個元素,它將從當前目標值中減去它,並遞歸調用新目標,並刪除當前減去元素的新列表。基本情況是一個空列表和一個值。如果該值爲零,則返回true,否則返回false。每當函數返回true,當前考慮的因素是溶液中的值,這樣你就可以輸出它。

相關問題