最‘笨’的枚举法
故名思意,就是把解情况都列出来,看哪种情况有解符合条件,是最常用最容易想到的一种,但运行时间长,运算量大
使用要重点注意三点:
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编写