Python 程式檢查 n 是否可以表示為 k 個素數之和
假設我們有兩個輸入 n 和 k。我們需要檢查 n 是否可以表示為 k 個素數之和。
因此,如果輸入類似於 n = 30 k = 3,則輸出將為 True,因為 30 可以表示為 2 + 11 + 17。
為了解決這個問題,我們將遵循以下步驟:
- 如果 n < k*2,則返回 False
- 如果 k > 2,則返回 True
- 如果 k 等於 2,則
- 如果 n 為偶數,則返回 True
- 如果 (n-2) 為素數,則返回 True
- 返回 False
- 如果 n 為素數,則返回 True
- 返回 False
示例
讓我們看看下面的實現以獲得更好的理解:
def check_prime(num): if num > 1: for i in range(2, num): if num % i == 0: return False return True return False def solve(n, k): if n < k*2: return False if k > 2: return True if k == 2: if n%2 == 0: return True if check_prime(n-2): return True return False if check_prime(n): return True return False n = 30 k = 3 print(solve(n, k))
輸入
30, 3
輸出
True
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP