主题:QBASIC
逍遥剑圣
[专家分:130] 发布于 2010-07-24 22:23:00
、有一个最多只能装10公斤重物品的网袋。现在有白菜5公斤,肉2公斤,鱼3.5公斤,酱油连瓶1.7公斤,白糖1公斤,土豆5.1公斤。如果这些物品每件不能拆开来装(也就是说只许全装或不装),请设计一个程序,使网袋装的物品总重量最大。
回复列表 (共15个回复)
沙发
alweeq86 [专家分:1170] 发布于 2010-07-25 21:50:00
设计循环就好了 最笨的方法
板凳
神秘-赛尔 [专家分:170] 发布于 2010-08-01 11:01:00
只能设循环了
3 楼
逍遥剑圣 [专家分:130] 发布于 2010-08-02 10:20:00
怎么设?
4 楼
凌空淡雪 [专家分:40] 发布于 2010-08-08 16:09:00
枚举法
5 楼
凌空淡雪 [专家分:40] 发布于 2010-08-08 16:09:00
cls
DIM A(6):S=0:G=0
FOR I=1 TO 6
READ A(I):S=S+A(I)
NEXT I
FOR I=1 TO 5
S1=S-A(I)
FOR J=I+1 TO 6
S8=S1-A(J)
IF S2<=10 AND S2>G THEN
G=S2:B=I:C=J
END IF
NEXT J,I
FOR I=1 TO 6
IF I<>B AND I,>C THEN PRINT I;A(I);
NEXT I
PRINT G
DATA 5,2,3.5,1.7,1,5.1
END
6 楼
罗罗诺亚·卓洛 [专家分:0] 发布于 2010-10-23 19:19:00
只能这样慢慢循环,和楼下的一样,但只能这样了。。。。。
cls
DIM A(6):S=0:G=0
FOR I=1 TO 6
READ A(I):S=S+A(I)
NEXT I
FOR I=1 TO 5
S1=S-A(I)
FOR J=I+1 TO 6
S8=S1-A(J)
IF S2<=10 AND S2>G THEN
G=S2:B=I:C=J
END IF
NEXT J,I
FOR I=1 TO 6
IF I<>B AND I,>C THEN PRINT I;A(I);
NEXT I
PRINT G
DATA 5,2,3.5,1.7,1,5.1
END
7 楼
verysmartboy [专家分:1260] 发布于 2010-10-24 17:00:00
这么简单…………唉…………
8 楼
verysmartboy [专家分:1260] 发布于 2010-10-24 17:01:00
穷举。就是有点麻烦…………
9 楼
郑若凡1999 [专家分:0] 发布于 2010-10-24 20:58:00
我觉得也是!
10 楼
独手编程 [专家分:360] 发布于 2010-11-10 18:10:00
cls
for a = 0 to 1
s=s+a*5.1
for b = 0 to 1
s=s+b*5
for c = 0 to 1
s=s+c*3.5
for d = 0 to 1
s=s+d*2
for e = 0 to 1
s=s+e*1.7
for f = 0 to 1
s=s+e
if s<=10 and s > mix then mix = s
next f,e,d,b,a
我来回复