5-28 猴子選大王 (20分)
一群猴子要選新猴王。新猴王的選擇方法是:讓N只候選猴子圍成一圈,從某位置起順序編號為1~N號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下一隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的一隻猴子就選為猴王。請問是原來第幾號猴子當選猴王?
輸入格式:
輸入在一行中給一個正整數N(\le≤1000)。
輸出格式:
在一行中輸出當選猴王的編號。
輸入樣例:
11
輸出樣例:
7
相關推薦
5-28 猴子選大王 (20分)
一群猴子要選新猴王。新猴王的選擇方法是:讓N只候選猴子圍成一圈,從某位置起順序編號為1~N號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下一隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的一隻猴子就選為猴王。請問是原來第幾號猴子當選猴王? 輸入格式: 輸入在一行中給一個正整
7-28 猴子選大王(20 分)
code bre 大王 printf cti 圈子 格式 猴子選大王 can 7-28 7-28 猴子選大王(20 分) 一群猴子要選新猴王。新猴王的選擇方法是:讓N只候選猴子圍成一圈,從某位置起順序編號為1~N號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子
猴子選大王(約瑟夫環)
ade col fcc closed open ons != head 計算 問題: 設編號為1,2,…,n的n個人圍坐一圈(每個人有一個密碼(正整數)),約定編號為k(1<=k<=n)的人從1開始報數,報到m的那個人出列,將他的密碼作為新的m值,他的下一位
猴子選大王-程序
猴子 mon clas int monk alt 循環 image remove i=0#索引下標 j=0#計數器 monky=[1,2,3,4,5,6,7,8] while i<len(monky): j+=1 if
7-18 猴子選大王
7-18 猴子選大王 (20 分) 一群猴子要選新猴王。新猴王的選擇方法是:讓N只候選猴子圍成一圈,從某位置起順序編號為1~N號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子,接著又從緊鄰的下一隻猴子開始同樣的報數。如此不斷迴圈,最後剩下的一隻猴子就選為猴王。請
約瑟夫環 猴子選大王
<? /** * 猴子選大王:一群猴子排成一圈,按1,2,…,n依次編號。 * 然後從第1只開始數,數到第m只,把它踢出圈,從它後面再開始數,再數到第m只,在把它踢出去…, * 如此不停的進行下去,直到最後只剩下一隻猴子為止,那隻猴子就叫做大王。 * 要求程式設計
演算法 -- 猴子選大王的四種方法,並對其時間與記憶體消耗的分析和對比&PHP
本篇利用PHP對“猴子選大王”問題,給出了四種方法,並對其進行了時間消耗的分析與對比。 題目:n個猴子要選出一個大王,隨機給出一個數m,當猴子報數為m的時候,則被淘汰,剩餘的最後一個猴子即為大王。 一、演算法解釋及程式碼展示 方法一:圍圈報數 n 個猴子圍成一圈從 1
Java猴子選大王
Java猴子選大王 最近學Java,看到一個猴子選大王的問題,說有N只猴子圍成一圈,猴子們定義一個數,從第一隻猴子開始數,數到這個數的被淘汰掉,再依次進行,剩下的最後一隻猴子就是大王。 這個問題需要定義一個數組來存放這些猴子,然後需要用到判斷迴圈等條件來淘汰猴子。 package c
p1074 猴子選大王
題目 描述 Description n只猴子選大王,選舉辦法如下:從頭到尾1,2,3,1,2,3……報數,凡報3的退出,餘下猴子第二輪從尾到頭1,2,3,1,2,3……報數,凡報3的退出...如此類推,當剩下兩隻猴子時,取這時報1的為王,若想當猴王,請問當初應占據什麼位置? 輸入格
zznuoj 1195 : 猴子選大王(結構體專題)
題目描述 n只猴子圍坐成一個圈,按順時針方向從1到n編號。然後從1號猴子開始沿順時針方向從1開始報數,報到m的猴子出局,再從剛出局猴子的下一個位置重新開始報數,如此重複,直至剩下一個猴子,它就是大王。 輸入 輸入兩個整數n和m,1<=m<=n<=100。 輸出 輸出猴王的編號
約瑟夫環(猴子選大王問題)
資料結構與演算法之約瑟夫環。 與其枯燥的講解約瑟夫環,倒不如用約瑟夫環來解決一個有趣的問題。 猴子選大王問題: 現在有N個猴子需要選取一個猴王,這N個猴子手拉手圍成一個圈,旁邊有一位德高望重的老猴,先將這一圈猴按順時針方向編號1,2.......N,然後
C/C++ 猴子選大王
題目描述 有n只猴子,按順時針方向圍成一圈選大王(編號從1到n),從第1號開始報數,一直數到m,數到m的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下一隻猴子時,這個猴子就是猴王,程式設計求輸入n,m後,輸出最後猴王的編號。 輸入 每行是用空格分開的
猴子選大王 – 約瑟夫問題( C++)
【問題描述】要從n只猴子中選出一位大王。它們決定使用下面的方法: n只猴子圍成一圈,從1到n順序編號。從第q只猴子開始,從1到m報數,凡報到m的猴子退出競選,下一次又從退出的那隻猴子的下一隻開始從1到m
猴子選大王---boolean陣列的實現
問題的描述:15個猴子圍成一圈選大王, 依次1-7迴圈報數, 報到7的猴子被淘汰, 直到最後一隻猴子成為大王。 問: 哪隻猴子會成為大王? 本文嘗試用boolean陣列進行實現,程式碼如下所示: package UNI; import java.util.Arrays;
1418:猴子選大王
題目連線:http://ybt.ssoier.cn:8088/problem_show.php?pid=1418 從佇列到迴圈單鏈表寫了一下午都寫不出來,網上查了半天題解發現多數用到<vector>而且還用到迭代器(https://blog.csdn.net/u011954296/artic
5-23 IP地址轉換 (20分) (位操作)
5-23 IP地址轉換 (20分) 一個IP地址是用四個位元組(每個位元組8個位)的二進位制碼組成。請將32位二進位制碼錶示的IP地址轉換為十進位制格式表示的IP地址輸出。 輸入格式: 輸
猴子選大王(約瑟夫環的使用,第一個不是報數人)
猴子選大王 Description n只猴子要選大王,選舉方法如下:所有猴子按 1,2 ……… n 編號並按照順序圍成一圈,從第 k 個猴子起,由1開始報數,報到m時,該猴子就跳出圈外,下一
猴子選大王——CSharp陣列
部落格上看了一個問題——猴子選大王 看得有些暈暈乎乎的,我就嘗試自己寫個方法備忘,謝謝 原題引述: 一群猴子,編號是1,2,3 …n,這群猴子(n個)按照1至n的順序圍坐一圈。從第1只開始數,每數到第m個,該猴子就要離開此圈,這樣依次下來,最後一隻出圈的猴子為大王。輸入m和
猴子選大王(約瑟夫環問題)兩種解決方案
問題: 有M只猴子圍成一圈,按序每隻從1到M中的編號,打算從中選出一個大王;經過協商,決定出選大王的規則:從第一個開始迴圈報數,數到N的猴子出圈,最後剩下來的就是大王。要求:從鍵盤輸入M、N,程式設計計算哪一個編號的猴子成為大王 示例: 比如有5只猴子,從1到3報數,則選
約瑟夫問題(猴子選大王)
/** * @param $n * @param $m * @return array * 猴子選大王 */ function choose($n,$m){ for($i=1;$i<=$n;$i++){ $arr[$i] = $i;