日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

假币问题python

發布時間:2023/12/18 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 假币问题python 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???????假幣問題:

?

? 這里假幣默認比真幣輕,而且是每次比較兩堆,即一個天平。

def compare(coinA, coinB): #比較兩堆硬幣的重量if sum(coinA) < sum(coinB):result = 'left'elif sum(coinA) > sum(coinB):result = 'right'else:result = 'eqal'return resultdef split(coin,n): #分割coin硬幣為兩堆coinA = coin[0: n // 2]coinB = coin[n // 2: n]return coinA, coinBdef Judge(coin,index): #判斷硬幣中假幣的位置n = len(coin)if n == 0:print('no coins')elif n == 1:print(' fake coin index:', index)elif n == 2:if coin[0] < coin[1]:print('fake coin index:', index)else:print('fake coin index:', index+1)elif n % 2 == 0 and n > 2:coinA, coinB = split(coin, n)result = compare(coinA, coinB)if result == 'left':coin = coinAJudge(coin, index)elif result == 'right' :index += n / 2coin = coinBJudge(coin, index)else:print(n)elif n % 2 == 1 and n > 2:coinA,coinB = split(coin, n-1)result = compare(coinA, coinB)if result == 'eqal':print('fake coin index:', index)else:if result == 'left':coin = coinAJudge(coinA, index)else:index += (n-1) / 2coin = coinBJudge(coinB, index)#設置假幣數組,當然你可以隨機生成,生成的假幣比真幣輕,而且真幣質量相等 coin = [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 10, 10, 10, 10, 10] index = 0 print(coin) Judge(coin, index)

算法

input:真假幣組成的數組,其值為質量,假幣默認為輕。事先不知各個重量 output:假幣下標 function:compare()//比較兩堆硬幣的質量 function:coinA, coinB = split()//分割硬幣為兩堆Judge()// 主函數,參數為硬幣和下標n = 硬幣個數if n == 0沒有硬幣elif n ==1該幣為假幣elif n == 2compare()假幣為較輕者elif n % 2 == 0 and n > 2compare()if 假幣在A堆里Judge(coinA,index)elif 假幣在B堆里Judge(coinB,index)else 此時先取出末尾一個硬幣,使其數量為偶compare()if 兩堆硬幣質量相等假幣為取出的那個elsecoinA,coinB中較輕者另其為coinJudge(coin,index)

總結

以上是生活随笔為你收集整理的假币问题python的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。