在 Python 中检查 N 是否可以被由集合 {A, B} 中的数字组成的数字整除
假设我们有一个数字 n。我们还有另外两个数字 a 和 b。我们必须检查是否可以使用 a 和 b 生成一个可以整除 n 的数字。
因此,如果输入类似于 n = 115,a = 3,b = 2,则输出将为 True,因为 115 可以被由 2 和 3 组成的数字 23 整除。
为了解决这个问题,我们将遵循以下步骤:
- 定义一个函数 util()。它将接收 temp、a、b、n 作为参数。
- 如果 temp > n,则
- 返回 False
如果 n 可以被 temp 整除,则
- 返回 True
- 当 util(temp * 10 + a, a, b, n) 或 util(temp * 10 + b, a, b, n) 中至少一个为真时返回 true,否则返回 false
- 在主方法中,当 util(a, a, b, n) 或 util(b, a, b, n) 中至少一个为真时返回 true,否则返回 false
示例
让我们看一下下面的实现,以便更好地理解:
def util(temp, a, b, n): if temp > n: return False if n % temp == 0: return True return util(temp * 10 + a, a, b, n) or util(temp * 10 + b, a, b, n) def solve(n, a, b): return util(a, a, b, n) or util(b, a, b, n) n = 115 a = 3 b = 2 print(solve(n, a, b))
输入
115, 2, 3
Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.
输出
True
广告