題目:
n個人圍成一圈,起始編號為0-n-1。從0開始依次報數,報到m則離開圓圈。
問最後離開的人的編號多少?
分析:以每個人離開作為乙個週期,下一次假設所有人編號變化(其實是對映到)新的編號0-n-2。
這裡的對映關係可以通過取模獲得:
每次離開乙個人,離開前總人數n,m-1的人離開,那麼下次編號和上次編號對映關係是:(x-m)%n
因此,可以形成動態規劃序列。
答案:
package algorithm;
/** * @author liuxiang
* @version create time:21:52 2019/5/9
* desc
*/public class josephcircle
return result;
}}
1875 丟手絹 約瑟夫環變形 列舉
1875 丟手絹 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 六一兒童節到了,小朋友們在玩丟手絹的遊戲。總共有 c個小朋友,編號從1到 c,他們站成乙個圈,第 i 1個人的左邊是 i 1,第 1個人的左邊是c。第 i 1 i個人的右邊是 i 1,第 c個人的右...
約瑟環的實現
intarray 100 n 0,m 0,receive 100 receive 陣列用來接收每次交出去的人 n 是用來記錄輸入的總人數 m 是用來記錄中間割幾個人 intcountm 0 用來記錄圈子裡面剩餘的人數 printf 請輸入圈子裡面的總人數 m和迴圈報數出列條件的 m n scanf ...
演算法題之丟手絹問題
n個人圍成一圈,順序排號,從第乙個人開始報數 從1到3報數 凡報到3的人退出圈子,問最後留下的是原來的多少號?public class diushoujuan public static int result int n int leftcount n 報數的人數 int countnum 0 要報...