檢查素數能否表示為 Python 中兩個素數的和
假設我們有一個素數 n。我們必須檢查是否可以將 n 表示為 x + y,其中 x 和 y 也是兩個素數。
因此,如果輸入類似於 n = 19,則輸出將為 True,因為我們可以將其表示為 19 = 17 + 2
為了解決這個問題,我們將遵循以下步驟:
- 定義一個函式 isPrime()。這將接收一個數字。
- 如果數字 <= 1,則
- 返回 False
- 如果數字等於 2,則
- 返回 True
- 如果數字為偶數,則
- 返回 False
- 對於 i 從 3 到數字平方根的整數部分 + 1,步長為 2,執行:
- 如果數字可以被 i 整除,則
- 返回 False
- 如果數字可以被 i 整除,則
- 返回 True
- 從主方法執行以下操作:
- 如果 isPrime(number) 和 isPrime(number - 2) 都為真,則
- 返回 True
- 否則,
- 返回 False
讓我們看看下面的實現,以便更好地理解:
示例
from math import sqrt def isPrime(number): if number <= 1: return False if number == 2: return True if number % 2 == 0: return False for i in range(3, int(sqrt(number))+1, 2): if number%i == 0: return False return True def solve(number): if isPrime(number) and isPrime(number - 2): return True else: return False n = 19 print(solve(n))
輸入
19
輸出
True
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP