這篇文章主要介紹“如何用算法創(chuàng)作猴子選王游戲問題”,在日常操作中,相信很多人在如何用算法創(chuàng)作猴子選王游戲問題問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何用算法創(chuàng)作猴子選王游戲問題”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
棲霞ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
問題描述
一群猴子圍成一圈,按1,2,3,…,m依次編號。
然后從第1只開始數(shù),數(shù)到第n只,把它剔出去,再重新開始數(shù),
如此不停的進(jìn)行下去,最后剩下的那只就是大王。
解決方案
題目分析:本題的核心思路是一個約瑟夫環(huán)算法,在一開始利用while循環(huán)將猴子一只一只取出來用i標(biāo)號,再將i判斷是不是為要剔除的數(shù)字,不剔除就加入一個新的列表等待下一次循環(huán),并且將i繼續(xù)加1,一直循環(huán)到只有最后一只猴子為止.
def king(m, n): lt = list(range(1, m+1)) i = 0 while len(lt) > 1: monkey = lt.pop(0) i += 1 if i == n: i = 0 else: lt.append(monkey) return lt[0] m = int(input('請輸入猴子的總數(shù):')) n = int(input('請輸入n的值:')) print(king(m, n)) |
到此,關(guān)于“如何用算法創(chuàng)作猴子選王游戲問題”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章名稱:如何用算法創(chuàng)作猴子選王游戲問題
網(wǎng)站網(wǎng)址:http://weahome.cn/article/iegige.html