今天在網上翻閱到一個 智力題:
求解:一筐雞蛋:
1個1個拿,正好拿完
2個2個拿,還剩1個
3個3個拿,正好拿完
4個4個拿,還剩1個
5個5個拿,還差1個
6個6個拿,還剩3個
7個7個拿,正好拿完
8個8個拿,還剩1個
9個9個拿,正好拿完
問筐裏最少有多少雞蛋
。。。。
於是就用python試了試,然後就算出來了:
# -*- coding:utf-8 -*- condition=""" 求解:一筐雞蛋: 1個1個拿,正好拿完 2個2個拿,還剩1個 3個3個拿,正好拿完 4個4個拿,還剩1個 5個5個拿,還差1個 6個6個拿,還剩3個 7個7個拿,正好拿完 8個8個拿,還剩1個 9個9個拿,正好拿完 問筐裏最少有多少雞蛋 假設 y = 雞蛋總數 y / 2 餘1 y / 3 = 0 y / 4 餘1 y / 5 餘4 y / 6 餘3 y / 7 = 0 y / 8 餘1 y / 9 = 0 解法: 利用python窮舉(while循環),滿足以下條件即爲雞蛋總數: y % 2== y % 4 == y % 8 and y % 3== 0 and y % 7 == 0 and y % 9 == 0 and y % 5 == 4 and y % 6 == 3 """ print condition y = 1 while(True): if y % 2== y % 4 == y % 8 and y % 3== 0 and y % 7 == 0 and y % 9 == 0 and y % 5 == 4 and y % 6 == 3: print "籃子裏總共有雞蛋: %s(個)"%y break y += 1
結果: