主题:[讨论]求教高手!!!!!!!!!
wanshibo121
[专家分:30] 发布于 2008-01-02 20:54:00
拿100元钱买100支笔,已知钢笔每支5元,圆珠笔每支2元,铅笔每支0.5元,编程求能买钢笔、圆珠笔、铅笔各多少支。
回复列表 (共6个回复)
沙发
聪明一袋烟 [专家分:330] 发布于 2008-01-02 22:46:00
FOR a = 0 TO 19
FOR b = 0 TO 33
c = 100 - a - b
IF a * 5 + b * 3 + c / 3 = 100 THEN PRINT a, b, c
NEXT b, a
END
程序如上,但很显然原题目给定数据无法得出整数解.
板凳
聪明一袋烟 [专家分:330] 发布于 2008-01-02 22:47:00
FOR a = 0 TO 19
FOR b = 0 TO 49
c = 100 - a - b
IF a * 5 + b * 3 + c / 2 = 100 THEN PRINT a, b, c
NEXT b, a
END
不好意思啊 数给错了 ,这个是对头的程序
3 楼
wanshibo121 [专家分:30] 发布于 2008-01-03 10:42:00
[em3][em3]谢谢楼上的!!!!!!!!!!
4 楼
wanshibo121 [专家分:30] 发布于 2008-01-03 10:53:00
FOR a = 0 TO 19
FOR b = 0 TO 49
IF (c=100-a-b) AND (a * 5 + b * 3 + c / 2 = 100) THEN PRINT a, b, c
next b
next a
end
这个行吗
5 楼
wanshibo121 [专家分:30] 发布于 2008-01-03 11:02:00
还有 为什么 不是 for a=0 to 20 而是fora=0 to 19 呢??
6 楼
聪明一袋烟 [专家分:330] 发布于 2008-01-04 21:52:00
你的程序不行,and 后面的c没有赋值啊无法求解的啊,你and前面的“=”不是赋值是关系判等啊。至于为什么不到20 而是到19,大概可以这么理解,你要买20个的话,很显然100已经花完,而笔不够100啊。
但是这里面就有另外一个问题了,你会想照这么说19也不对了,因为富裕5元刚够买25个铅笔啊,所以19也不对,如此这般,18 17 16 好像都不对。这让我怎么说那,道理是那道理,但我们一般认为临界的点(就是这里的20根钢笔)不要就可以了,否则的话,那到底是让pc算还是人算啊?
我来回复