检查是否可以使用 Python 中的秤和一些重量来测量项目
假设我们有一些权重,例如a^0、a^1、a^2、……、a^100,这里的'a'是一个整数,而且我们还有一个称重秤,可以在其两侧放置权重规模。我们必须检查是否可以使用这些重量来测量重量W的特定项目。
所以,如果输入像a=4,W=17,那么输出将是True权重是a^0=1,a^1=4,a^2=16,我们可以得到16+1=17.
示例
让我们看看以下实现以获得更好的理解-
found = False
def util(idx, itemWt, weights, N):
global found
if found:
return
if itemWt == 0:
found = True
return
if idx > N:
return
util(idx + 1, itemWt, weights, N)
util(idx + 1, itemWt + weights[idx], weights, N)
util(idx + 1, itemWt - weights[idx], weights, N)
def solve(a, W):
global found
if a == 2 or a == 3:
return True
weights = [0] * 100
total_weights = 0
weights[0] = 1
i = 1
while True:
weights[i] = weights[i - 1] * a
total_weights += 1
if weights[i] > 10**7:
break
i += 1
util(0, W, weights, total_weights)
if found:
return True
return False
a = 4
W = 17
print(solve(a, W))输入
4, 17输出结果
True
热门推荐
10 新年祝福语短句简短搞笑
11 圆圆的祝福语简短
12 男士送花祝福语大全简短
13 祝女性生日祝福语简短
14 参加儿子大学祝福语简短
15 婚庆花篮祝福语简短大气
16 俄语祝福语贺卡文案简短
17 婚礼祝福语简短情话短句
18 叔叔生日祝福语简短励志