close
問題典故:在羅馬人佔領喬塔帕特後,39 個猶太人與約瑟夫及他的朋友躲到一個洞中,39個猶太人決定寧願死也不要被敵人抓到,於是決定了一個自殺方式,41個人排成一個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺,然後再由下一個重新報數,直到所有人都自殺身亡為止
然而約瑟夫 和他的朋友並不想遵從,約瑟夫要他的朋友先假裝遵從,他將朋友與自己安排在第16個與第31個位置,於是逃過了這場死亡遊戲
以上列故事為例設計一程式滿足以下條件:
1.可自由設定參加總人數
2.可自由設定死亡的報數間隔
3.可自由設定存活的殘留人數
4.顯示殘留存活人數的位置號碼
這個問題基本上不難,程式流程大約如下:
1.首先為參加的每個人從1開始編號
2.使用迴圈搭配移位暫存器來處理報數問題
3.使用Rotate 1D Array元件使陣列內數值循環移動,符合報數位置時從陣列中剔除該數值
4.剩餘的就是殘存人數的位置號碼
完成的程式如下
執行的結果
文章標籤
全站熱搜
留言列表