时间:-09-18
概述:算法 鸡兔同笼 五家共井
先来看看Python是如何处理鸡兔同笼的问题,故事是这样:有若干只鸡和兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。问笼中各有几只鸡和兔。Python代码如下:
print('兔子{}只,鸡{}只'.format(94//2-35,35-(94//2-35)))
#计算机笨方法,设兔子为x,鸡为y
x=1
while True:
y=35-x
if x*4+y*2==94:
print('兔子{}只,鸡{}只'.format(x,y))
break
else:
x+=1
是不是很轻松就解决了,下面来看五家共井的问题,故事是这样:现在有五家共用一口井,甲、乙、丙、丁、戌五家各有一条绳子汲水(下面用文字表示每一家的绳子):甲×2+乙=井深,乙×3+丙=井深,丙×4+丁=井深,丁×5+戌=井深,戌×6+甲=井深,求甲、乙、丙、丁、戌各家绳子的长度和井深。用Python解答同样很简单,编写代码如下:
h=1
found=False
while(h):
for e in range(1,h+1):
a=h-6*e
b=h-2*a
c=h-3*b
d=h-4*c
if e==h-5*d:
print('甲:{},乙:{},丙:{},丁:{},戊:{},井深:{}'.format(a,b,c,d,e,h))
found=True
break
if found:
break
h+=1