Python約瑟夫生者死者小游戲?qū)嵗v解
問(wèn)題描述:
30 個(gè)人在一條船上,超載,需要 15 人下船。于是人們排成一隊(duì),排隊(duì)的位置即為他們的編號(hào)。
報(bào)數(shù),從 1 開(kāi)始,數(shù)到 9 的人下船。如此循環(huán),直到船上僅剩 15 人為止,問(wèn)都有哪些編號(hào)的人下船了呢?
解決思路:
給30個(gè)人編號(hào)1-30,每個(gè)人的初值都是1(在船上),i代表他們的編號(hào),j代表被扔下船的人數(shù)(j=15時(shí)循環(huán)結(jié)束),用check記數(shù),check=9時(shí)將對(duì)應(yīng)編號(hào)i的人置0(扔下船)并讓check重新記數(shù)。
當(dāng)i等于31時(shí),手動(dòng)將i置為1
當(dāng)對(duì)應(yīng)編號(hào)i的人值為0時(shí),代表此人已經(jīng)不在船上,i+1找到下一個(gè)人記數(shù),以此類推。
people={}for x in range(1,31): people[x]=1# print(people)check=0i=1j=0while i<=31: if i == 31: i=1 elif j == 15: break else: if people[i] == 0: i+=1 continue else: check+=1 if check == 9:people[i]=0check = 0print('{}號(hào)下船了'.format(i))j+=1 else:i+=1continue
執(zhí)行以上實(shí)例,輸出結(jié)果為:
9號(hào)下船了18號(hào)下船了27號(hào)下船了6號(hào)下船了16號(hào)下船了26號(hào)下船了7號(hào)下船了19號(hào)下船了30號(hào)下船了12號(hào)下船了24號(hào)下船了8號(hào)下船了22號(hào)下船了5號(hào)下船了23號(hào)下船了
到此這篇關(guān)于Python約瑟夫生者死者小游戲?qū)嵗v解的文章就介紹到這了,更多相關(guān)Python 約瑟夫生者死者小游戲內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程2. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp3. php測(cè)試程序運(yùn)行速度和頁(yè)面執(zhí)行速度的代碼4. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究5. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過(guò)程解析6. 無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)7. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報(bào)錯(cuò)問(wèn)題分析8. ASP中常用的22個(gè)FSO文件操作函數(shù)整理9. SharePoint Server 2019新特性介紹10. 三個(gè)不常見(jiàn)的 HTML5 實(shí)用新特性簡(jiǎn)介
