Bailian2746 約瑟夫問題

2021-09-10 12:54:26 字數 724 閱讀 4376

描述

約瑟夫問題:有n只猴子,按順時針方向圍成一圈選大王(編號從1到n),從第1號開始報數,一直數到m,數到m的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是猴王,程式設計求輸入n,m後,輸出最後猴王的編號。

輸入每行是用空格分開的兩個整數,第乙個是 n, 第二個是 m ( 0 < m,n <=300)。最後一行是:

0 0輸出

對於每行輸入資料(最後一行除外),輸出資料也是一行,即最後猴王的編號

樣例輸入

6 212 4

8 30 0

樣例輸出51

7

約瑟夫問題有2種解法,一是模擬法,二是數學法(由數學推理得來)。
模擬法:

#include #include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

const int max=0x3f3f3f3f;

const int n=110;

int main()

while(a.size()>1)

cout《數學法:

#include int main(void)

return 0;

}

百練2746 約瑟夫問題

總時間限制 1000ms 記憶體限制 65536kb 描述 約瑟夫問題 有 只猴子,按順時針方向圍成一圈選大王 編號從 到 從第 號開始報數,一直數到 數到 的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是猴王,程式設計求輸入 後,輸出最後猴王的編號。輸入...

poj2746約瑟夫問題

2746 約瑟夫問題 檢視 提交 統計 提示 提問 總時間限制 1000ms 記憶體限制 65536kb 描述約瑟夫問題 有 只猴子,按順時針方向圍成一圈選大王 編號從 到 從第 號開始報數,一直數到 數到 的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是...

BLMOOC2746約瑟夫問題

總時間限制 1000ms 記憶體限制 65536kb 描述約瑟夫問題 有 只猴子,按順時針方向圍成一圈選大王 編號從 到 從第 號開始報數,一直數到 數到 的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是猴王,程式設計求輸入 後,輸出最後猴王的編號。輸入每...