問題 I 約瑟夫問題

2021-08-05 19:28:08 字數 786 閱讀 2550

題目描述

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

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

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

樣例輸入

6 2

12 4

8 3

0 0

樣例輸出

5 1

7題解:本題是乙個模擬題,也是乙個規律題

ac**一:模擬法

#include 

#include

using

namespace

std;

int book[301];

int main()

if(book[p]==0)

break;}}

book[p]=1;

n--;

}for(int i=1;i<=sum;i++)

ac**二:公式法

#include

using

namespace

std;

int main()

cout

<1;

return

0;}

約瑟夫問題

這是17世紀的法國數學家加斯帕在 數目的遊戲問題 中講的乙個故事 15個教徒和15 個非教徒在深海上遇險,必須將一半的人投入海中,其餘的人才能倖免於難,於是想了乙個辦法 30個人圍成一圓圈,從第乙個人開始依次報數,每數到第九個人就將他扔入大海,如此迴圈進行直到僅餘15個人為止。問怎樣排法,才能使每次...

約瑟夫問題

include using namespace std typedef struct nodelistnode typedef listnode linklist linklist initring int n,linklist r linklist deletedeath int n,int k,...

約瑟夫問題

今天在acm又遇到了約瑟夫問題,前些日子聽說這個有公式的,於是我到網下查了下。是有乙個公式的 遞推公式 f 0 f f m mod i i 1 出處 http baike.baidu.com view 213217.html?tp 0 01 不過我套上去,總是不對,不知道為什麼。本問題acm htt...