檢查給定的數字是否是 Python 中的 Wagstaff 素數
假設我們有一個數字 n。我們必須檢查 n 是否是 Wagstaff 素數。眾所周知,Wagstaff 素數是用以下形式表示的素數。

其中 q 是一個奇素數。
因此,如果輸入像 n = 683,則輸出將為 True n 可表示為

所以這裡 q = 11。而且 q 是一個奇素數。
為了解決這個問題,我們將按照以下步驟操作 -
- 如果 num 是素數並且 (num*3 - 1) 也是素數,那麼
- 返回 True
- 返回 False
讓我們看看以下實現以獲得更好的理解 -
示例程式碼
def isPrime(num): if num > 1: for i in range(2, num): if num % i == 0: return False return True return False def power_of_two(num): return num and not(num & (num - 1)) def solve(num) : if isPrime(num) and power_of_two(num * 3-1): return True return False n = 683 print(solve(n))
輸入
683
輸出
True
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP