python——百钱百鸡题
例子:有100文钱,要买100只鸡,公鸡5文一只,母鸡3文一只,小鸡三只一文,问公鸡母鸡小鸡各多少只?
方法一:
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 for a in range(100//5+1):
4 for b in range(100//3+1):
5 for c in range(0, 100*3+1, 3):
6 if a + b + c ==100 \
7 and a*5 + b*3 + (c//3)*1 == 100:
8 print('GJ:%3d MJ:%3d XJ:%3d' %(a, b, c))
执行结果:
GJ: 0 MJ: 25 XJ: 75
GJ: 4 MJ: 18 XJ: 78
GJ: 8 MJ: 11 XJ: 81
GJ: 12 MJ: 4 XJ: 84
方法二:
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # x + y + z = 100
4 # 5x + 3y + z/3 = 100
5 for x in range(1, 20):
6 for y in range(1, 33):
7 z = 100 - y - x
8 if z % 3 == 0 and 5 * x + 3 * y + z / 3 == 100:
9 print('公鸡:', x, '只', '母鸡:', y, '只', '小鸡:', z, '只')
执行结果:
公鸡: 4 只 母鸡: 18 只 小鸡: 78 只
公鸡: 8 只 母鸡: 11 只 小鸡: 81 只
公鸡: 12 只 母鸡: 4 只 小鸡: 84 只