回 帖 发 新 帖 刷新版面

主题:[讨论]北京市小学生程序设计友谊赛

今天考试,有两道题不会。
请教一下:1.小明有一个最多只能装N(键盘输入)斤重东西的网袋。现有白菜5斤,猪肉2斤,鱼3.5斤,酱油连瓶1.7斤,白糖1斤,土豆5.1斤.设计一个程序使小明的网袋所装物品重量最大.即按顺序显示白菜,猪肉,鱼,酱油,白糖,土豆是否装入,装入打印1否则打印0.(注意:各物品不能分割,要么装,要么不装)
显示格式:只有一行
例如:101100         (说明:表示装入  白菜,鱼,酱油)

回复列表 (共9个回复)

沙发

dim d(6)
input "N=";d(0)
d(1)=5          '白菜
d(2)=2          '猪肉
d(3)=3.5        '鱼
d(4)=1.7        '酱油
d(5)=1          '白糖
d(6)=5.1        '土豆
s=2^6-1         '二进制的111111
for i=0 to s
    c=0
    for j=1 to 6
        if i and 2^(j-1) then c=c+d(j)
    next
    if c<=d(0) and c>m then
       m=c
       mi=i
    endif
next

for j=0 to 5
    if mi and 2^j then print "1"; else print "0";
next

板凳

做错了,也不试一下就拿上来,真是的

3 楼

哦?
有这样的事情?
是我晚年失节了?
你能告诉我错在哪了吗?

4 楼

喔,是我错了,我把顺序弄反了
把倒数第三行的

for j=5 to 0 step -1

改成

for j=0 to 5

就行了

5 楼

能不能给我说清楚一点呢?如果我明白的话,我会再给你加30分的

6 楼

那不明摆着吗? 我已经改正过来了啊.
反正而且你也不可能再给我加三十分了.

7 楼

你的那个什么“if 2^j and mi”是什么东东?,(20分)

8 楼

mi 是结果
是最后得数,是答案
and 2^j 是检验二进制的某一位是否为1
若为1, if条件为真,
若非1, if条件为假.

9 楼

moz你急着要分干什么啊?
你想要分我专门开帖子给你分怎么样?

我来回复

您尚未登录,请登录后再回复。点此登录或注册