八大算法思想----枚举法

4 篇文章 0 订阅
2 篇文章 0 订阅

最‘笨’的枚举法

故名思意,就是把解情况都列出来,看哪种情况有解符合条件,是最常用最容易想到的一种,但运行时间长,运算量大
使用要重点注意三点:
1,范围,一定要把符合的情况的全部列出来
2,终止条件,即符合解情况的条件

例子:
一,百元买百鸡:

# 枚举法一定要注意两点:变量范围,终止条件
def onehunredAndChick():
# //    百元买百鸡
# //    公鸡5元,母鸡3元,小鸡3只一元
# //    枚举法求解
    chicld=0
    for man in range(21):
        for feman in range(34):
            chicld=100-5*man-3*feman
            if(man+feman+chicld*3==100):
                print('公鸡是{},母鸡是{},小鸡是{}'.format(man,feman,chicld*3))

结果:
在这里插入图片描述
二,填写运算符
运用±/*四个运算符,使5 5 5 5 5=5成立
范围要用四个for循环,终止条件:等式成立

# 填写运算符
# 运用+-/*四个运算符,使5 5 5 5 5=5成立
# 范围要用四个for循环,终止条件:等式成立
def  cal():
    right=0
    letf=0
    count=0
    relations=('+','-','*','/')
    for relation1 in relations:
        for relation2 in relations:
            for relation3 in relations:
                for relation4 in relations:
                    if eval('5{}5{}5{}5{}5==5'.format(relation1,relation2,relation3,relation4)):
                        count=count+1
                        print('{},5{}5{}5{}5{}5==5'.format(count,relation1,relation2,relation3,relation4))

结果:
在这里插入图片描述

以上均以python编写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值