如何优雅地求解鸡蛋问题?
2017-02-15 22:53
309 查看
如何优雅地求解鸡蛋问题?
标签(空格分隔): 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)
运行结果:
相关文章推荐
- 如何求解字符串问题
- android createbitmap函数内存溢出,求解如何进行处理out of memory溢出问题
- 在传智的学习感受——如何优雅地解决心态炸裂问题
- iOS面试中如何优雅回答Block导致循环引用的问题
- 如何在Python中利用CVXOPT求解二次规划问题
- 如何求解问题-现代启发式方法_总结
- 开发人员解决问题的艺术:如何优雅的向别人提出你不懂的问题
- 如何求解问题-现代启发式方法_后
- 用Python求解拿鸡蛋问题
- 关于如何求解数独问题
- 普林斯顿微积分读本:第 25 章 如何求解估算问题
- 我们来谈谈promise,讨论一下如何优雅的避免多层回调嵌套的问题
- 用python求解筐中鸡蛋问题
- 如何求解问题-现代启发式方法(3-7章)
- 如何用穷举法求解截断切割问题?
- 如何在mysql中优雅的解决精确到毫秒的问题?
- 地址选择控件开发--如何优雅地回答保安小哥的哲理问题?
- 如何优雅的记录编程中遇到的问题
- 安卓如何优雅的加载图片问题探究
- 《如何求解问题+现代启发式方法(Modern Heuristics)》读书笔记1