不用循环编写判断是否为素数的代码
时间: 2024-10-23 14:13:27 浏览: 19
c语言判断是否素数程序代码
不用循环编写判断一个整数是否为素数的一种方法是使用埃拉托斯特尼筛法(Sieve of Eratosthenes)。这种方法并不直接判断每个数字是否为素数,而是通过排除一定范围内的合数来筛选出素数。以下是Python中不使用循环的一个示例:
```python
def is_prime(n):
if n <= 1:
return False
if n == 2 or n == 3:
return True
if n % 2 == 0 or n % 3 == 0:
return False
i = 5
w = 2
while i * i <= n:
if n % i == 0:
return False
i += w
w = 6 - w # 跳过4的倍数
return True
```
这个函数首先处理了一些特殊情况,然后从5开始,每次加w(2步进),跳过所有4的倍数,因为除了2以外,所有偶数都不是素数。如果找到n能被i整除,则n不是素数。继续此过程,直到i的平方大于n为止。
阅读全文