C語言使用陣列和迴圈解決約瑟夫環問題

2021-10-07 05:32:00 字數 606 閱讀 8628

約瑟夫入獄,監獄內共有 33 個犯人。某日 33 名犯人圍成一圈,從第乙個犯人開始報數,報到數字 7 的犯人出列,

被槍斃,下一名犯人重新從 1 開始報數。依次類推,直至剩下最後 1 名犯人可被赦免。聰明的約瑟夫在心裡稍加計算,

算出了最後槍斃的位置,他站在這個位置,最終避免了自己被槍斃,逃出**。

問:約瑟夫算出的是哪個位置?

#include

#define max 33

#define death 7

intmain()

,tmp=1;

for(i=

0;i)a[i]=1

;while

(sum>1)

}}for(i=

0;i(a[i]

)printf

("倖存者編號是%d\n"

C語言迴圈鍊錶解決約瑟夫問題

joseph problem 35分 題目內容 實作joseph problem.假設一開始有n個人,編號1 n,按照順序以順時針圍成乙個圓圈。遊戲開始時,編號1的人拿刀。之後每一輪刀子會被往下傳m個人,而當輪最後拿到刀子的人會將他的下乙個人殺掉,殺完後刀子會再傳給被殺的下乙個人。這樣一輪就算結束。...

C語言 陣列和for迴圈

陣列 分為 1 陣列,2 陣列的陣列 陣列的陣列 陣列符號 和陣列是沒有關係的。p i p i p i 可以寫成i p 下面是我去年寫的,這個筆記是梳理整合 所謂陣列為2的有3個就是把記憶體好比為房間,int hoge 3 2 就是有3個大箱子其中每個大箱子都有2個小隔間,元素就呆在小隔間裡。所以h...

資料結構 基於陣列和迴圈佇列解決約瑟夫問題

約瑟夫問題是乙個經典的問題,下面來介紹約瑟夫問題及其變體的解決方法。設有編號為1 2 3 n的n個人圍成乙個圈,從第乙個人開始報數,報到m的人出圈,再從他的下乙個人起從新報數,報到m的人出圈,如此下去,直到所有人全部出圈為止。給定任意的n和m,設計演算法求n個人出圈的次序。我們嘗試使用基本的陣列來解...