java约瑟夫环pta上_cdoj525-猴子选大王 (约瑟夫环)
約瑟夫斯問題問題有時(shí)候也被描述成猴子選大王問題,題目如下.(最后會(huì)貼上約瑟夫問題的來歷) 一群猴子排成一圈,按1,2,…,n依次編號. 然后從第1只開始數(shù),數(shù)到第m只,把它踢出圈,從它后面再開始數(shù),再數(shù)到第m只,在把它踢出去…,如此不停的進(jìn)行下去,直到最后只剩下一只猴子為止,那只猴子就叫做大王. 要求編程模擬此過程,輸入m.n, 輸出最后那個(gè)大王的編號. 用程序模擬該過程,代碼如下: <?php function monkeyKing($n, $m) { $arr = range(1, $n);…
猴子選大王問題: 一堆猴子都有編號,編號是1,2,3 ...m ,這群猴子(m個(gè))按照1到m的順序圍坐一圈, 從第1開始數(shù),每數(shù)到第n個(gè),該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最后一只猴子,則該猴子為大王.
又一次因?yàn)橐粋€(gè)小錯(cuò)誤,POJ上Wrong Answer了無數(shù)次..... 在差不多要放棄的時(shí)候,發(fā)現(xiàn)了這個(gè)猥瑣的不能再猥瑣的bug,改完了提交就AC了,簡直無語.... 本題wo采用模擬方法: 1 #include 2 #include 3 #include 4 using namespace std; 5 struct child{ 6 char name[16]; 7 int id; 8 //child(stri…
題目描述 猴子選大王,有N只猴子,從1-N進(jìn)行編號.它們按照編號的順時(shí)針方向,排成一個(gè)圓圈,然后從第一只猴子開始報(bào)數(shù).第一只猴子報(bào)1,以后每只猴子報(bào)的數(shù)字都是它前面猴子所報(bào)數(shù)字加1.如果一只猴子報(bào)的數(shù)字是M,則該猴子出列,下一只猴子重新從1開始報(bào)數(shù).剩下的猴子繼續(xù)排成一個(gè)圓圈報(bào)數(shù),直到全部的猴子都出列為止.最后一個(gè)出列的猴子勝出. 輸入格式 The first line is an integer t, indicating the number of test cases. Then ther…
<?php /** * 猴子選大王 * 17個(gè)猴子圍成一圈,從某個(gè)開始報(bào)數(shù)1-2-3-1-2-3---報(bào)"3"的猴子就被淘汰, * 游戲一直進(jìn)行到圈內(nèi)只剩一只猴子它就是猴大王了 * * 編程思路 * 如果猴子被淘汰則unset() 否則array_push() 不停循環(huán) 直至數(shù)組中只有一個(gè)元素 * * 假如5個(gè)猴子 每報(bào)一個(gè)數(shù) 數(shù)組的值 * * 初始數(shù)組 * Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] =&…
洗牌算法 /** *洗牌算法washCard *@param $cardNum *@return array */ function washCard($cardNum) { $cards = range(1, $cardNum); for ($i = $cardNum - 1; $i > 0; $i--) { $rnd = rand(0, $i - 1); list($cards[$rnd], $cards[$i]) = array($cards[$i], $cards[$rnd…
總結(jié)
以上是生活随笔為你收集整理的java约瑟夫环pta上_cdoj525-猴子选大王 (约瑟夫环)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 依宝诺手表什么价格
- 下一篇: 莆田鞋有特殊渠道吗?