各位大大好
假設我今天有一組陣列 [5,9,8,7,4,5,3]
這些數分別是第一個數跟第二個數相加 以及第1個數加第2個數加第3個數相加
比如說 5=3+2 9=3+2+4
原數列就會拆解成 [3,2,4]
請問如果要用程式邏輯的方式求出整個陣列的原數的話要如何撰寫呢 能否提供一點方向
暴力解法
數字不大的話可以使用
1.列出 arrIn 「第1個數字」(5)的可能組合,放進 arrOut(例:[1,4])
2.從 arrIn「第2個數字」(例:9, 9-1-4=4)到「倒數第2個數字」(例:5, 5-2-1=2)的算法都一樣,放進 arrOut 陣列
3.arrIn 的「倒數第1個數字」(例:3)不用計算,只要拿 arrOut 最後兩個數字來加以驗證此組答案是否正確(例:3<>1+1,故此組解答不合規則)
以下是列出所有四組解答
以下是檢查合法規則(註)後的唯一解
為使合法解答數數量有限,我假設答案都是「大於 0 的整數」