要求: 假设公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,
问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱?
假设公鸡x只,母鸡y只,小鸡z只 则可以得到方程组:
x+y+z=100 #1
5x+3y+1/3z=100 #2
其实有了这个方程组就可以进行数学换算了:
1.令 #2 * 3 - #1 得到 y=25-7/4*x
2.令x=4k 则y=25-7k
3.将x=4k ,y=25-7k代入#1 则z=75+3k
那么久可以开始编码了(代码如下):
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,
用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,
问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱
"""
def math1():
k = 0
while True:
k += 1
x = 4*k
y = 25-7*k
z = 75+3*k
if z>100 or x>100 or y>100 or x<1 or y<1 or z<1:
break
print("公鸡%s,母鸡%s,小鸡%s" %(x,y,z))
def run():
math1()
# main
if __name__ == '__main__':
run()
则可输出结果:
==================================
简单算法,做个笔记。。