如何通过Python高效学习素数计算方法?

2026-05-24 12:381阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计327个文字,预计阅读时间需要2分钟。

如何通过Python高效学习素数计算方法?

计算一定范围内的元素数量,并记录在json文件中。下次计算可以在上次基础上迭代+从3开始计算元素数量的情况,100万内的元素数量计算可在1秒内完成。

pythonimport jsonimport time

start=time.time()

假设有一个函数来计算元素数量def calculate_elements(start, end): # 计算逻辑 pass

如何通过Python高效学习素数计算方法?

从3开始计算elements_count=calculate_elements(3, 1000000)

记录结果到json文件with open('elements_count.json', 'w') as file: json.dump(elements_count, file)

end=time.time()print(fTime taken: {end - start} seconds)

计算一定范围内的素数,并记录在json文件中。下次计算可以在上次的基础上迭代

在从3开始计算素数的情况下,计算100万内的素数能在1秒内完成

import json
import time
start = time.time()
limit = 1e6
try:
with open ('prime.json','r') as file:
list = json.load(file)
num = list[-1]
except FileNotFoundError:
list = [3]
num = 3

def check(num):
for i in list:
if num%i == 0:
break
elif i*i > num: #这里千万不要写成i**2,计算速度会慢2倍多
list.append(num)
#print(num)
break

while num < limit:
num = num + 2
check(num)

# with open ('prime.json', 'w') as file:
# json.dump(list,file,indent=4)

print(list[-1])
end = time.time()
print(f'本次计算用时:{end-start}')

i5-10400计算用时:

Montage Jintide(R) C4215R(CentOS服务器,3.2GHz)计算用时:

i5-6200U计算用时:

本文共计327个文字,预计阅读时间需要2分钟。

如何通过Python高效学习素数计算方法?

计算一定范围内的元素数量,并记录在json文件中。下次计算可以在上次基础上迭代+从3开始计算元素数量的情况,100万内的元素数量计算可在1秒内完成。

pythonimport jsonimport time

start=time.time()

假设有一个函数来计算元素数量def calculate_elements(start, end): # 计算逻辑 pass

如何通过Python高效学习素数计算方法?

从3开始计算elements_count=calculate_elements(3, 1000000)

记录结果到json文件with open('elements_count.json', 'w') as file: json.dump(elements_count, file)

end=time.time()print(fTime taken: {end - start} seconds)

计算一定范围内的素数,并记录在json文件中。下次计算可以在上次的基础上迭代

在从3开始计算素数的情况下,计算100万内的素数能在1秒内完成

import json
import time
start = time.time()
limit = 1e6
try:
with open ('prime.json','r') as file:
list = json.load(file)
num = list[-1]
except FileNotFoundError:
list = [3]
num = 3

def check(num):
for i in list:
if num%i == 0:
break
elif i*i > num: #这里千万不要写成i**2,计算速度会慢2倍多
list.append(num)
#print(num)
break

while num < limit:
num = num + 2
check(num)

# with open ('prime.json', 'w') as file:
# json.dump(list,file,indent=4)

print(list[-1])
end = time.time()
print(f'本次计算用时:{end-start}')

i5-10400计算用时:

Montage Jintide(R) C4215R(CentOS服务器,3.2GHz)计算用时:

i5-6200U计算用时: