内容正文:
62 Python 枚举算法
综合应用
复习1:
找出所有满足以下条件的三位数:
百位数和十位数的和是奇数
十位数和个位数的和是偶数
判断是否满足上述条件,
如果满足则打印出该三位数,
最后输出满足条件的三位数的数量。
复习2:
百钱买百牛问题:(2种方法)
据传,清代嘉庆皇帝编了一道“百牛问题”
给大臣们做:
有银百两,买牛百头,
大牛一头十两,小牛一头五两,牛犊一头半两。
问大牛、小牛和牛犊各买多少头?
一、岁数问题(编程与奥数)
老大、老二、老三兄弟三人岁数之和是32岁,老大的岁数比老二大3岁,而且老大的岁数是老三的2倍,问兄弟三人各几岁?
二、数鸡蛋问题:
已知食品袋中的鸡蛋
三个三个数剩2个,
五个五个数剩3个,
七个七个数剩2个,
求食品袋中有多少个鸡蛋(鸡蛋范围10~99)。
三、题目变形:
有一盒乒乓球,
9个9个地数,最后余下7个;
5个5个地数,最后余下2个;
4个4个地数 ,最后余下1个。
问这盒乒乓球至少有多少个?
参考代码
四、猜密码问题
某个密码是六位数,
前两位为31,
最后两位数字相同,
能被3和7整除,
找出所有可能的密码并统计其个数。
分析:六位数已知前两位,也就是求后四位的数字,
要注意范围和条件。
count=0
for i in range(0,10000):
res=310000+i
if i%16==0 and i%46==0:
a=res%10
b=(res%100)//10
if a==b:
print(res)
count=count+1
五、忘记密码问题(类似)
某人忘记了支付宝的支付密码,她急需在30分钟内完成付款,用python编程帮她找回密码。
(1)密码是6位数字,前面两位为85;
(2)最后两位数字相同;
(3)能被13和33整除。
$$