主题:百元买百鸡
功夫先人
[专家分:60] 发布于 2009-01-06 16:11:00
百元买百鸡
用100元钱买100只鸡,公鸡每只5元,母鸡每只3元,小鸡3只1元,问能买公鸡、母鸡和小鸡分别多少只?
DEFINT A-C
CLS
PRINT "公鸡", "母鸡", "小鸡"
FOR a = 0 TO 20
FOR b = 0 TO 33
c = 100 - a - b
IF 5 * a + 3 * b + c \ 3 = 100 AND c MOD 3 = 0 THEN
PRINT a, b, c
END IF
NEXT
NEXT
'=====================================
' 运行结果
'=====================================
'公鸡 母鸡 小鸡
' 0 25 75
' 4 18 78
' 8 11 81
' 12 4 84
最后更新于:2009-01-10 19:42:00
回复列表 (共18个回复)
沙发
wjl8719 [专家分:190] 发布于 2009-01-23 08:50:00
好像蛮简洁的,很好!
板凳
gps179 [专家分:70] 发布于 2009-02-19 11:22:00
好的,我收了
3 楼
冰冻小企鹅 [专家分:190] 发布于 2009-02-22 19:15:00
我分比你高,我收徒弟!!!!!!!!!!!!!!!!!
[em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12]
4 楼
冰冻小企鹅 [专家分:190] 发布于 2009-02-22 19:16:00
百元买百鸡
用100元钱买100只鸡,公鸡每只5元,母鸡每只3元,小鸡3只1元,问能买公鸡、母鸡和小鸡分别多少只?
DEFINT A-C
CLS
PRINT "公鸡", "母鸡", "小鸡"
FOR a = 0 TO 20
FOR b = 0 TO 33
c = 100 - a - b
IF 5 * a + 3 * b + c \ 3 = 100 AND c MOD 3 = 0 THEN
PRINT a, b, c
END IF
NEXT
NEXT
'=====================================
' 运行结果
'=====================================
'公鸡 母鸡 小鸡
' 0 25 75
' 4 18 78
' 8 11 81
' 12 4 84
引用
5 楼
梦幻小樱 [专家分:140] 发布于 2009-08-18 12:58:00
你问什么?我怎么看不出来?
6 楼
天天和和 [专家分:1420] 发布于 2009-08-19 09:27:00
不错 程序是简洁
7 楼
phile [专家分:2310] 发布于 2009-08-19 12:56:00
楼上不是最简
8 楼
天天和和 [专家分:1420] 发布于 2009-08-23 17:52:00
那你将这程序,再简给我看,有时候简洁了未必就是一件好事
9 楼
phile [专家分:2310] 发布于 2009-08-24 13:34:00
最简好像是用一重循环,不过能用LZ的方法做出来的也算是高手了!
10 楼
zihao1231 [专家分:150] 发布于 2009-12-08 19:05:00
还有最简的:
X代表公鸡,Y代表母鸡,Z代表小鸡
钱数写成公式就是:5X+3Y+3/1Z=100
只数写成公式就是:X+Y+Z=100
我们把钱数公式等号左边和右边各乘上3就等于:15X+9Y+Z=300
那钱数公式减去只数公式就是15X-X:9Y-Y:Z-Z:300-100
这样就得出另一个公式:14X+8Y=200
最后再把得出的公式等号左边和右边各除以2就等于:7X+4Y=100
用一个单程循环FOR X = 1 TO 12
因为X最小是一,最大是12
但是单数*7还是等于单数,100-单数还是单数,不可能被4整除,所以循环还可以简化成:
FOR X = 2 TO 12 STEP 2
但是2*7=14:100-14=86
86不能被4整除因为2*7不能被4整除,所以X的值只有可能是4的倍数,所以循环还可以简化成:
FOR X = 4 TO 12 STEP 4
写成程序就是:
CLS
FOR X = 4 TO 12
Y=100-X*7
Z=100-X-Y
IF X*5+Y*4+Z/3=100 THEN PRINT X;Y;Z
NEXT X
END
就这么简单
我来回复