標簽(空格分隔): python
小明大學畢業后沒找到工作,自力更生去菜市場賣雞蛋。話說有一天小明去養殖場進貨,看到倉庫里有一大堆雞蛋,1個1個拿正好拿完,2個2個拿還剩1個,3個3個拿正好拿完,4個4個拿還剩1個,5個5個拿還差1個,6個6個拿還剩3個,7個7個拿正好拿完,8個8個拿還剩1個,9個9個拿正好拿完。已知這一堆雞蛋總數不超過10000個,請問這堆雞蛋個數可能是多少? 這是一個典型的中國式求余數問題。據說python是一門優雅的編程語言,來試一試寫出幾行簡潔的代碼來幫小明算出雞蛋個數。 假設雞蛋個數為n,顯然有 1 <= n <= 10000 ,當然 n 不會少于 9,不過這無所謂,我們要做的就是從1到10000遍歷n,并從2到9對 n 進行求余(1不用求,余數皆為0)。當 n % x (x = 2,3,4,…9)全部符合題設時,此時的 n 即為正確的數量。 首先定義一個函數 eggs(n):
def eggs(n): if n%2==1 and n%3==0 and n%4==1 and n%5==4 and n%6==3 and n%7==0 and n%8==1 and n%9==0 : return True else: return False#主程序:#創建一個列表推導式,符合條件的數字添加到列表egg中egg = [ i for i in range(10000) if eggs(i) == True ] PRint(egg)運行結果:
新聞熱點
疑難解答