python - 程序告诉我们在 100 到 10000 之间的 100 的哪个周期有最多的素数
问题描述
我想编写一个程序来告诉我们在 100 到 10000 之间的哪个 100 周期(那么是 100 到 200 还是 200 到 300 等等的哪百个类别)具有最多的素数。我不知道如何解决这个问题并对数百个进行分类,我知道如何判断两点之间有多少个素数,但是如何在计算每百个之间的素数时迭代 100 到 10000 个。感谢您的时间。
解决方案
我写了一个非常简单的程序,可以按照您的要求进行操作,我们在 100-199、200-299 等范围内进行迭代。在每个范围内,我们计算素数的数量。每次我们找到比我们保存的最大值更多的素数时——我们改变那个最大值并保存我们找到那么多的范围。
代码:
import math
def is_prime(x):
#for num in range(2, int(x**0.5) + 1):
for num in range(2, int(math.sqrt(x)) + 1):
if x % num == 0:
return False
return True
def find_maximum_range_with_primes():
max_range = None
max_counter = 0
# 10 ranges total: 100-200, 200-300, ...
for j in range(1, 10):
counter = 0
# count primes in range
for i in range(100*j ,100*(j+1)):
if is_prime(i):
counter += 1
#print(i)
# if current range has more primes than the maximum found
# set maximum to hole the counter, and save the range
if counter > max_counter:
max_counter = counter
max_range = (100*j, 100*(j+1))
return max_range
print(find_maximum_range_with_primes())
现在,这段代码没有优化,所以请注意有办法让它变得更好,但对于你所问的,我相信它会达到它的目的。
推荐阅读
- c++ - 在类中初始化 unique_ptr
- jupyter-notebook - 如何使用此 python 代码解决关键错误?
- amazon-web-services - 如果我不添加默认变量,则 Terraform/Terragrunt 错误
- python - Django 3:无法生成动态对象视图
- html - 动画旋转框 css 关键帧
- node.js - 如何在 MongoDB 中相互比较文档?
- c# - 从蛇案到骆驼案的对象序列化
- python - Pyspark Mutlipe 数据框初始化
- api - 如何避免 Api 平台(Symfony)中重复条目的 SQL 异常?
- elasticsearch - Elasticsearch - TikaOnDotNet 逐页文本提取