iT邦幫忙

0

陣列數值拆解成相鄰數值問題

  • 分享至 

  • xImage

各位大大好
假設我今天有一組陣列 [5,9,8,7,4,5,3]
這些數分別是第一個數跟第二個數相加 以及第1個數加第2個數加第3個數相加
比如說 5=3+2 9=3+2+4
原數列就會拆解成 [3,2,4]
請問如果要用程式邏輯的方式求出整個陣列的原數的話要如何撰寫呢 能否提供一點方向

看更多先前的討論...收起先前的討論...
GHH iT邦新手 1 級 ‧ 2022-07-22 18:34:00 檢舉
後面87453的規則是什麼
888god888 iT邦新手 5 級 ‧ 2022-07-22 19:15:48 檢舉
一樣的規則 像是8是2+4+? ?號就是2 7就是4+2+? ?=1 依此類推 不過最後一項3是前最後兩個數相加不是三個數 跟第一個數5一樣
由於無法理解你的文字描述
可否提供完整的答案
題目:[5,9,8,7,4,5,3]
答案:?
888god888 iT邦新手 5 級 ‧ 2022-07-23 19:16:59 檢舉
答案是[2,3,4,1,2,1,2] 比如說前兩個數組成5 前三個數組成9 第二第三第四個數組成8 依此類推 最後兩個數組成3 只有前第一個跟第二個數是由2個數組成 其他三個這樣 謝謝!
888god888 iT邦新手 5 級 ‧ 2022-07-23 21:23:16 檢舉
有大概寫出一個方法了 但是得先真人算出中間的數是4,1,2 算是有BUG
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2022-07-24 02:06:09
最佳解答

暴力解法
數字不大的話可以使用

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,故此組解答不合規則)

以下是列出所有四組解答
https://ithelp.ithome.com.tw/upload/images/20220724/20001787Fm4Js2XtsN.png

以下是檢查合法規則(註)後的唯一解
為使合法解答數數量有限,我假設答案都是「大於 0 的整數」
https://ithelp.ithome.com.tw/upload/images/20220724/20001787uFN3USbzzP.png

看更多先前的回應...收起先前的回應...
888god888 iT邦新手 5 級 ‧ 2022-07-24 14:31:06 檢舉

大概把每個part加上了註解幫助理解,謝謝您https://ithelp.ithome.com.tw/upload/images/20220724/20144615ZOVbj3Mk2D.png

寫這麼詳細,給你按/images/emoticon/emoticon12.gif/images/emoticon/emoticon12.gif/images/emoticon/emoticon12.gif

修改少少幾個字使更精準
假設答案只有大於0正數驗證是否有負數

888god888 iT邦新手 5 級 ‧ 2022-07-24 23:03:46 檢舉

好的 感謝你的提點

我要發表回答

立即登入回答