成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python經(jīng)典五人分魚(yú)實(shí)例講解

瀏覽:3日期:2022-06-30 13:39:10

A、B、C、D、E 五人在某天夜里合伙去捕魚(yú),到第二天凌晨時(shí)都疲憊不堪,于是各自找地方睡覺(jué)。

日上三桿,A 第一個(gè)醒來(lái),他將魚(yú)分為五份,把多余的一條魚(yú)扔掉,拿走自己的一份。

B 第二個(gè)醒來(lái),也將魚(yú)分為五份,把多余的一條魚(yú)扔掉拿走自己的一份。 。

C、D、E依次醒來(lái),也按同樣的方法拿魚(yú)。

問(wèn)他們至少捕了多少條魚(yú)?

def main(): fish = 1 while True: total, enough = fish, True for _ in range(5): if (total - 1) % 5 == 0:total = (total - 1) // 5 * 4 else:enough = Falsebreak if enough: print(f’總共有{fish}條魚(yú)’) break fish += 1if __name__ == ’__main__’: main()

實(shí)例擴(kuò)展:

#Python3 實(shí)例--Python 五人分魚(yú)print('Python3 實(shí)例--Python 五人分魚(yú)')#原則:’’’日上三桿,A 第一個(gè)醒來(lái),他將魚(yú)分為五份,把多余的一條魚(yú)扔掉,拿走自己的一份。B 第二個(gè)醒來(lái),也將魚(yú)分為五份,把多余的一條魚(yú)扔掉拿走自己的一份。 。C、D、E依次醒來(lái),也按同樣的方法拿魚(yú)。問(wèn)他們臺(tái)伙至少捕了多少條魚(yú)?(x)A:(x-1)/5B:(x-((x-1)/5)-1)/5C:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5D:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-1)E:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-1))-1)’’’def main(): fish = 1 while True: #默認(rèn)魚(yú)的數(shù)量是夠分的,enough = True total, enough = fish, True #循環(huán)步驟:每一個(gè)人都按照相同的原則分魚(yú) for _ in range(5): #'_'符號(hào)在循環(huán)中不會(huì)用到,起的是循環(huán)次數(shù)的作用,可以看作和i,j是等效的 #如果正好夠5個(gè)人分,不需要扔掉一條 if (total - 1) % 5 == 0:#除了第一個(gè)人,剩下的魚(yú)的總數(shù)為:(total - 1) // 5 * 4,# 但是此時(shí)流程還沒(méi)有走完,還未計(jì)算魚(yú)的總數(shù)total = (total - 1) // 5 * 4 #如果不夠一個(gè)人分,enough = False, # 說(shuō)明魚(yú)的數(shù)量不是最少的,還需要每一個(gè)重復(fù)步驟上加一條,跳出循環(huán) else:enough = Falsebreak #判斷魚(yú)是不是夠分,而且魚(yú)的總數(shù)取的是最小值 if enough: #若是,輸出魚(yú)的總數(shù),結(jié)束程序 print(f’總共有{fish}條魚(yú)’) break #魚(yú)的數(shù)量循環(huán)加1 fish += 1main()

到此這篇關(guān)于Python經(jīng)典五人分魚(yú)實(shí)例講解的文章就介紹到這了,更多相關(guān)Python 五人分魚(yú)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章: