洛谷P1996 約瑟夫問題

2021-08-17 08:44:20 字數 660 閱讀 2897

約瑟夫是乙個無聊的人!!!

n個人(n<=100)圍成一圈,從第乙個人開始報數,數到m的人出列,再由下乙個人重新從1開始報數,數到m的人再出圈,……依次類推,直到所有的人都出圈,請輸出依次出圈人的編號.

輸入格式:

n m輸出格式:

出圈的編號

輸入樣例#1:

複製

10 3

輸出樣例#1:

複製

3 6 9 2 7 1 8 5 10 4

m, n \le 100m,

n≤10

0解法一:

模擬

#include #includeusing namespace std;

int vis[101];

int main()

printf("%d ",k);

vis[k] = 1;

} return 0;

}

解法二:數學推導

參考題解:

#include #includeusing namespace std;

int f[101][101];

int josef(int n, int m, int i)

int main()

洛谷P1996 約瑟夫問題

約瑟夫是乙個無聊的人!n個人 n 100 圍成一圈,從第乙個人開始報數,數到m的人出列,再由下乙個人重新從1開始報數,數到m的人再出圈,依次類推,直到所有的人都出圈,請輸出依次出圈人的編號.n m出圈的編號 輸入 1 10 3輸出 1 3 6 9 2 7 1 8 5 10 4m,n 100 1 由於...

P1996 約瑟夫問題

題目描述 nnn 個人圍成一圈,從第乙個人開始報數,數到 mmm 的人出列,再由下乙個人重新從 111 開始報數,數到 mmm 的人再出圈,依次類推,直到所有的人都出圈,請輸出依次出圈人的編號。輸入格式 輸入兩個整數 n,mn,m n,m。輸出格式 輸出一行 nnn 個整數,按順序輸出每個出圈人的編...

P1996 約瑟夫問題

約瑟夫是乙個無聊的人!n個人 n 100 圍成一圈,從第乙個人開始報數,數到m的人出列,再由下乙個人重新從1開始報數,數到m的人再出圈,依次類推,直到所有的人都出圈,請輸出依次出圈人的編號.n m出圈的編號 輸入 1複製 10 3 輸出 1複製 3 6 9 2 7 1 8 5 10 4 m,n le...