写了几行处理鸡兔同笼问题:
-
今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?——出自《孙子算经》
第一遍写的
ji = 0
tu = 0
while ji+tu<=35:
if 2*ji+4*tu==94:
print("鸡有%d只,兔有%d只"%(ji,tu))
ji+=1
tu+=1
运行后没有结果。检查发现这里鸡兔一起加相当于鸡兔相等,这当然是不可能解出来的。于是修改为:
ji = 0
while ji<=35:
tu=0
while tu<=35:
if 2*ji+4*tu==94:
print("鸡有%d只,兔有%d只"%(ji,tu))
tu+=1
ji+=1
运行出现一列结果
发现这里设定的其实是鸡兔最大35,而不是两者和。 再次修改:
ji = 0
while ji<=35:
tu=0
while tu<=35:
if (2*ji+4*tu==94)and(ji+tu==35):
print("鸡有%d只,兔有%d只"%(ji,tu))
tu+=1
ji+=1
最后得到结果。
今天写的这个东西并不难,但是出现了许多问题,而且反复改才得到正确结果。开始编的时候就马虎,很多没有考虑清楚的。多加练习。。。嗯