python中枚举算法的应用

枚举算法的核心概念

将问题所有的可能的解一一罗列出来,并对每一个可能的解进行判断,以此来确定这个解是否是问题真正的解,如果是,就采纳它,否则就抛弃它。中途即使找到合适的解也要继续找下去,直到将所有可能的解找完才结束。

例题1

某人忘记了支付宝的支付密码,她急需在30分钟内完成付款,用python编程帮她找回密码。
(1)密码是6位数字,前面两位为85;
(2)最后两位数字相同;
(3)能被13和33整除。

for i in range(10000):
	s = 850000+i
	if s % 13 == 0 and s % 33 == 0:
		a = s % 10
		b = s // 10 % 10
		if a == b:
			print(s)

例题2

有一盒乒乓球,9个9个地数,最后余下7个;5个5个地数,最后余下2个;4个4个地数 ,最后余下1个。问这盒乒乓球至少有多少个?

参考代码1

n = 16
while True:
	if n % 9 == 7 and n % 5 == 2 and n % 4 == 1:
		print(n)
		break
	n += 1

参考代码2

n = 16 
while True:
	if n % 5 == 2:
		break
	n = n + 9
while True:
	if n % 4 == 1:
		break
	n = n + 45
print(n)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>