在 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
輸出
True
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP