编写一个程序,该程序由两个线程组成,第一个线程用来计算2~1000之间的质数个数,第二个线程用来计算1000~2000之间的质数个数。
时间: 2024-03-25 22:40:13 浏览: 45
计算有多少质数的程式
好的,下面是代码实现:
```python
import threading
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
def count_primes(start, end):
"""计算[start, end)范围内的质数个数"""
count = 0
for i in range(start, end):
if is_prime(i):
count += 1
print(f"在[{start}, {end})范围内,共有{count}个质数")
if __name__ == '__main__':
# 创建两个线程,分别计算2~1000和1000~2000的质数个数
t1 = threading.Thread(target=count_primes, args=(2, 1000))
t2 = threading.Thread(target=count_primes, args=(1000, 2000))
# 启动线程
t1.start()
t2.start()
# 等待线程执行完毕
t1.join()
t2.join()
```
程序中使用了两个线程,分别计算2~1000和1000~2000的质数个数。在每个线程中调用`count_primes`函数来计算质数个数,并使用`threading.Thread`类来创建线程对象。最后使用`start`方法启动线程,`join`方法等待线程执行完毕。
注意,代码中的`is_prime`函数用于判断一个数是否为质数,`count_primes`函数用于计算[start, end)范围内的质数个数。
阅读全文