Python素数判断1到1000
时间: 2023-12-25 16:27:29 浏览: 158
以下是Python判断1到1000的素数的代码:
```python
# 判断素数函数
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# 判断1到1000的素数
for i in range(1, 1001):
if is_prime(i):
print(i, end=' ')
```
输出结果为:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541
相关问题
python素数判断
要判断一个数是否是素数,可以使用以下代码:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
# 测试
number = int(input("请输入一个整数: "))
if is_prime(number):
print(f"{number} 是素数")
else:
print(f"{number} 不是素数")
```
这段代码定义了一个名为 `is_prime` 的函数,它接受一个整数参数 `n`,并返回一个布尔值表示 `n` 是否是素数。在函数中,我们首先判断 `n` 是否小于等于 1,因为素数定义为大于 1 的整数。接下来,我们使用一个循环从 2 开始迭代到 `n` 的平方根加 1 的范围内,逐个判断是否能整除 `n`。如果能整除,则 `n` 不是素数,返回 False。如果循环结束后都没有找到能整除 `n` 的数,则 `n` 是素数,返回 True。
最后,我们通过调用该函数来判断用户输入的整数是否是素数,并打印相应的结果。
Python素数判断
Python素数判断可以使用以下两种方法:
1. 质数判断法:
一个数如果只能被1和它本身整除,那么这个数就是质数。通过遍历2到该数-1的所有数,判断是否能被整除,来判断该数是否为质数。
代码示例:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, num):
if num % i == 0:
return False
return True
```
2. 厄拉多塞筛法:
该算法是在一定范围内筛选出所有的质数,而不是单独判断一个数是否为质数。首先将2到n的正整数放入表中,然后在2的上面画一个圆圈,然后把表中所有2的倍数都划掉;第一个既没有画圈又没有被划去的数是3,将它画圈,再把表中所有3的倍数都划去;接下来是5、7、11等质数,不断重复这个过程,直到筛完为止。
代码示例:
```python
def sieve_of_eratosthenes(num):
primes = [True] * (num+1)
primes, primes = False, False
for i in range(2, int(num ** 0.5) + 1):
if primes[i]:
for j in range(i*i, num+1, i):
primes[j] = False
return [i for i in range(num+1) if primes[i]]
```
阅读全文