检查 N 是否可以表示为从 Python 中的集合 {A, B} 中选择的整数之和

假设我们有一个数字目标。我们还有另外两个数字 A 和 B。我们必须检查是否可以通过将 A 和 B 添加任意次数来获得目标。

因此,如果输入类似于 Target = 26 A = 5 B = 7,那么输出将为 True,因为我们可以通过将 A 和 B 相加得到 26,例如 (7 + 7 + 7 + 5)。

示例

让我们看看以下实现以获得更好的理解 -

def util(x, a, b, is_ok, target):

   if x > target:

      return

   if is_ok[x]:

      return

   is_ok[x] = True

   util(x + a, a, b, is_ok, target)

   util(x + b, a, b, is_ok, target)

def solve(target, a, b):

   is_ok = [False] * (target + 1)

   util(0, a, b, is_ok, target)

   return is_ok[target]

target = 26

A = 5

B = 7

print(solve(target, A, B))

输入

26, 5, 7
输出结果
True

以上是 检查 N 是否可以表示为从 Python 中的集合 {A, B} 中选择的整数之和 的全部内容, 来源链接: utcz.com/z/343878.html

回到顶部