php猴子找大王算法,教程方法;php實現猴子選大王問題算法實例電腦技巧-琪琪詞資源網...

琪琪詞資源網-教程方法;php實現猴子選大王問題算法實例電腦技巧,以下是給大家帶來的教程方法;php實現猴子選大王問題算法實例,大家可以了解一下哦!

下面為你介紹php實現猴子選大王問題算法實例。

本文實例講述了php實現猴子選大王問題算法。分享給大家供大家參考。具體分析如下:

一、問題:

n只猴子圍坐成一個圈,按順時針方向從1到n編號。

然后從1號猴子開始沿順時針方向從1開始報數,報到m的猴子出局,再從剛出局猴子的下一個位置重新開始報數,

如此重復,直至剩下一個猴子,它就是大王。

設計并編寫程序,實現如下功能:

(1) 要求由用戶輸入開始時的猴子數$n、報數的最后一個數$m。

(2) 給出當選猴王的初始編號。

二、解決方法:

?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 /** * @param int $n 開始時的猴子數量 * @param int $m 報道的最后一個數 *(報到這個數的猴子被淘汰,然后下一個猴子重新從①開始報數) * @return int 猴子的初始編號 */ function monkeySelectKing($n,$m) { //猴子的初始數量不能小于2 if ($n<2) { return false; } $arr=range(1,$n); //將猴子分到一個數組里, 數組的值對應猴子的初始編號 $unsetNum=0; //定義一個變量,記錄猴子的報數 for ($i = 2; $i <=$n*$m ; $i++) //總的循環次數不知道怎么計算, { //不過因為循環中設置了return,所以$m*$len效率還可以 foreach ($arr as $k => $v) { $unsetNum++; //每到一個猴子, 猴子報數+1 //當猴子的報數等于淘汰的數字時:淘汰猴子(刪除數組元素) //報數歸0(下一個猴子從1開始數) if ($unsetNum==$m) { // echo "

";//打開注釋,可以看到具體的淘汰過程            // print_r($arr);            unset($arr[$k]);            //淘汰猴子            $unsetNum=0;            //報數歸零            if (count($arr)==1)            //判斷數組的長度, 如果只剩一個猴子, 返回它的值            {            return reset($arr);            }            }            }            }            }                        var_dump(monkeySelectKing(6,  3));                                      補充改進算法(該算法更加簡潔明了!):

?

1 2 3 4 5 6 7 8 9 function yuesefu($n,$m) { $r=0; for($i=2; $i<=$n; $i++) { $r=($r+$m)%$i; } return $r+1; } print_r(yuesefu(3,3));教程方法;php實現猴子選大王問題算法實例電腦技巧-琪琪詞資源網

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/542524.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/542524.shtml
英文地址,請注明出處:http://en.pswp.cn/news/542524.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

numpy 歸一化_NumPy 數據歸一化、可視化

僅使用 NumPy&#xff0c;下載數據&#xff0c;歸一化&#xff0c;使用 seaborn 展示數據分布。下載數據import numpy as npurl https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.datawid np.genfromtxt(url, delimiter,, dtypefloat, usecols[1])僅提取…

java虛擬機規范閱讀(三)異常

Java虛擬機里面的異常使用Throwable或其子類的實例來表示&#xff0c;拋異常的本質實際上是程序控制權的一種即時的、非局部&#xff08;Nonlocal&#xff09;的轉換——從異常拋出的地方轉換至處理異常的地方。絕大多數的異常的產生都是由于當前線程執行的某個操作所導致的&am…

puppeteer api_使用Node.js和puppeteer API從URL創建PDF文件

puppeteer apiWe will continue using Node.js and puppeteer which is a node library. As we saw in our last article, Puppeteer is a Node library developed by Google and provides a high-level API for developers. 我們將繼續使用Node.js和puppeteer(這是一個節點庫)…

python線程同步鎖_[python] 線程間同步之Lock RLock

為什么需要同步 同樣舉之前的例子&#xff0c;兩個線程分別對同一個全局變量進行加減&#xff0c;得不到預期結果&#xff0c;代碼如下&#xff1a; total 0 def add(): global total for i in range(1000000): total 1 def desc(): global total for i in range(1000000): t…

servlet的由來

2019獨角獸企業重金招聘Python工程師標準>>> 動靜態網頁技術 首先說下訪問網頁的大概過程&#xff1a; 你在瀏覽器中輸入網址&#xff0c;按下enter鍵&#xff0c;此時瀏覽器代你做了很多事&#xff0c;簡要說為&#xff1a;將你輸入的這個網址作為目的地參數&#…

php header 文件大小,php獲取遠程文件大小及信息的函數(head_php

php獲取遠程文件大小及信息的函數(header頭信息獲取)阿里西西Alixixi.com開發團隊在做一個客戶系統時&#xff0c;需要做遠程下載的功能&#xff0c;并實時顯示進度條效果。所以&#xff0c;需要預先讀取遠程文件的大小信息&#xff0c;然后做為實時下載進度條的參數。功能函數…

Java ObjectInputStream readUnsignedShort()方法(帶示例)

ObjectInputStream類readUnsignedShort()方法 (ObjectInputStream Class readUnsignedShort() method) readUnsignedShort() method is available in java.io package. readUnsignedShort()方法在java.io包中可用。 readUnsignedShort() method is used to read 2 bytes (i.e. …

python中info的用法_Python pandas.DataFrame.info函數方法的使用

DataFrame.info(self, verboseNone, bufNone, max_colsNone, memory_usageNone, null_countsNone) [source] 打印DataFrame的簡要摘要。 此方法顯示有關DataFrame的信息&#xff0c;包括索引dtype和列dtype&#xff0c;非空值和內存使用情況。 參數&#xff1a;verbose &#x…

第四次作業 孫保平034 李路平029

用C編寫一個學生成績管理系統 1、可以實現以下功能&#xff1a; cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 1.增加學生成績 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl; 2、用鏈表存儲信息 * 程序頭部的注釋結束 3、約定的規范&#xff1a; 1界面設計簡介&#xff0c;人性化…

php serialize error at offset,PHP Notice: unserialize(): Error at offset XX of XX bytes

之前同事在本地開發的時候&#xff0c;出現一個錯誤&#xff0c;如下圖所示&#xff1a;字面意思就是反序列化錯誤&#xff0c;由此bug引申出來序列化和反序列化得應用&#xff0c;以及php array當key為string類型的數字值時&#xff0c;會發生什么情形。先來看序列化$str [1 …

Java ClassLoader setClassAssertionStatus()方法與示例

ClassLoader類setClassAssertionStatus()方法 (ClassLoader Class setClassAssertionStatus() method) setClassAssertionStatus() method is available in java.lang package. setClassAssertionStatus()方法在java.lang包中可用。 setClassAssertionStatus() method is used …

python怎么變各種顏色_python – 如何淡化顏色

有很多方法可以做到這一點.您如何選擇這取決于您是否重視速度和簡單性或感知均勻性.如果你需要它是真正統一的,你需要用顏色配置文件定義RGB顏色,你需要配置文件的原色,這樣你就可以轉換為XYZ,然后轉換到LAB,你可以操作L通道. 大多數情況下,您不需要這樣做,而是可以使用像Photo…

informatica中元數據管理

摘自&#xff1a; http://blog.itpub.net/28690368/viewspace-766528/ informaica是一個很強大的ETL工具&#xff0c;WORKFLOW MANAGER負責對ETL調度流程進行設計與管理和執行&#xff0c;informatica在資料庫中提供以下表來存儲調動流程的相關信息&#xff0c;以便WORKFLOW …

yii+php+當前目錄,Yii應用的目錄結構和入口腳本

以下是一個通過高級模版安裝后典型的Yii應用的目錄結構&#xff1a;~~~.├── backend├── common├── console├── environments├── frontend├── nbproject├── tests├── vendor├── composer.json├── composer.lock├── init├── init.bat├── …

8086 尋址方式_8086微處理器的不同尋址模式

8086 尋址方式Introduction: 介紹&#xff1a; Addressing mode tells us what is the type of the operand and the way they are accessed from the memory for execution of an instruction and how to fetch particular instruction from the memory. There are mainly 8 …

決策樹的value是什么意思_從零開始的機器學習實用指南(六):決策樹

類似SVM&#xff0c;決策樹也是非常多功能的機器學習算法&#xff0c;可以分類&#xff0c;回歸&#xff0c;甚至可以完成多輸出的任務&#xff0c;能夠擬合復雜的數據集&#xff08;比如第二章的房價預測例子&#xff0c;雖然是過擬合了。&#xff09;決策樹也是很多集成學習的…

Hive中生成隨機唯一標識ID的方法

2019獨角獸企業重金招聘Python工程師標準>>> HIVE中處理的數據往往比較多&#xff0c;在處理數據的時候希望給處理得到的數據一個ID標識&#xff0c;這時候可以用到UUID。 UUID的算法的核心思想是結合機器的網卡、當地時間、一個隨即數來生成UUID。從理論上講&#…

php從網頁獲得數據,php根據URL獲得網頁內容

php 中根據url來獲得網頁內容非常的方便&#xff0c;可以通過系統內置函數file_get_contents(),傳入url,即可返回網頁的內容&#xff0c;比如獲得百度首頁的內容代碼為&#xff1a;$html file_get_contents(http://www.baidu.com/);echo $html;就可以顯示出百度首頁的內容&…

2020知道python語言應用答案_2020知到Python語言應用答案章節期末答案

組合管理理論最早由哈維馬科維茲于1962年系統的提出&#xff0c;他開創了對投資進行整體管理的先 公司型基金和契約型基金的區別&#xff0c;下列不包括&#xff08;&#xff09;。 A&#xff0e;資金的性質B&#xff0e;基金的營運依據C&#xff0e;基 我國&#xff08;&#…

如何在Bootstrap中使用Jumbotron和頁面標頭類?

Introduction 介紹 In the previous article, we have learned how Responsive column, Nesting Columns and offset Columns work and how to use them? I hope now, you all are comfortable with the grid system; what is it, how to use it and how we can use it for c…