首页 > 学院 > 开发设计 > 正文

如何优雅地求解鸡蛋问题?

2019-11-08 19:50:27
字体:
来源:转载
供稿:网友

如何优雅地求解鸡蛋问题?

标签(空格分隔): 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)运行结果:

运行结果


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表