检查给定的数字是否是 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