報數字(約瑟夫環)

2021-07-28 14:55:13 字數 506 閱讀 7267

description

佳佳和幼兒園裡的小朋友經常一起玩乙個遊戲:n個小朋友坐成一圈,從第乙個小朋友開始報數,從1開始依次報,每個報到m的小朋友要起來表演節目,然後那個小朋友從圈裡出去,接下來的小朋友繼續從1開始。直到只剩下最後乙個小朋友。佳佳一點也不喜歡自己表演,所以他想知道的是,他坐在哪個位置,才能一直堅持到最後呢?

input

輸入包括多組資料,每組資料是兩個整數n,m(n,m<=1000000),輸入以0 0結束

output

對每組輸入資料,輸出佳佳坐的位置

sample input

3 1

3 2

0 0sample output3

3思路:

資料太大,採用數學方法,公式解析

**:

#include#includeusing namespace std;

int main()

cout<} return 0;

}

報數問題(約瑟夫環)

解法一 用陣列模擬 include using namespace std intmain sign 實際標號的 if sign 0 sign n 1 if i n 1 cout loop sign 0 return0 解法二 從位置考慮,舉例說 nnum 5 move 212 3453 4515 ...

約瑟夫環問題(報數問題)

先說一下什麼是約瑟夫環問題,這是百科的解釋 約瑟夫環 約瑟夫問題 是乙個數學的應用問題 已知n個人 以編號1,2,3.n分別表示 圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列 他的下乙個人又從1開始報數,數到m的那個人又出列 依此規律重複下去,直到圓桌周圍的人全部出列。思路 因為n...

報數遊戲(約瑟夫環問題)

題目描述 有n個小朋友做遊戲,他們的編號分別是1,2,3 n。他們按照編號從小到大依次順時針圍成乙個圓圈,第乙個小朋友從1開始報數,依次按照順時針方向報數 報數的值加一 每個報m的人會離開隊伍,然後下乙個小朋友會繼續從1開始報數,直到只剩下乙個小朋友為止。求最後一位小朋友的編號。input 輸入兩個...