学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
小张有一架游标刻度不清的物理天平,和若干不同质量的砝码,个数与克数分别为:1个1g、2个2g、1个5g、1个10g、2个20g、2个50g。小张想通过编程知道能否使用这些砝码称出连续的不同质量,如能则输出有多少种不同质量与其质量的范围。
小张编程的想法为:将每个砝码看作不同的,即使质量一样也看成不同。小张所拥有的砝码数可以看作9个,对于每个砝码有可能被使用或不使用,因此砝码质量组合最多29种。小张从质量小的砝码开始尝试:先拿一个1g的砝码放入,这时出现第1种质量,将其记录。然后拿走1g砝码,将第1个2g砝码放入,这时出现第2种质量……。如果当前砝码组合的质量是前面产生质量+1,则记录当前组合质量;如果当前砝码组合的质量没有产生过且当前组合质量超过前面产生质量+1,则终止当前程序。具体砝码组合见下表所示:

(1)对于上表中各砝码的选择状态为111000000,则下一种选择状态为:______
(2)具体代码如下,运行结果如下图示,在划线处填入合适代码。

def selct(f,n):#找出一种砝码的组合
     i=0
     while___ and f[i]==1:
          f[i]=0
          i+=1
     f[i]=1#选中第i种砝码
     return f
weight=[1,2,2,5,10,20,20,50,50]#砝码
unweight=[]#记录砝码组合质量
n=len(weight)#砝码种数
f=[0]*n #记录砝码是否被取
for i in range(2**n-1):
     f=___;
     w=0
     for j in range(n):#依据选择状态,计算砝码质量
          w+=___
     #将不同质量的组合存入unweight列表
     if len(unweight)==0:
          unweight.append(w)#append()为列表添加元素
     elif w not in unweight and w==unweight[-1]+1:
          unweight.append(w)
     elif w not in unweight:
          break
print(“最多能称出”,len(unweight),“不同质量”)
print(“质量范围:”,unweight[0],“____”,___
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交