3种方式获取100以内的质数(Python)

下面是使用Python获取100以内质数的三种方法:

  1. 普通方法:

这是最简单的方法,通过遍历100以内的所有数字,使用一个简单的规则来判断一个数是否为质数。质数是指只有1和其本身能够整除的一个正整数,因此我们可以通过检查一个数是否能被2到其平方根之间的任何整数整除来判断它是否为质数。




import math
primes = [2]
for num in range(3, 100):
    if all(num % div != 0 for div in range(2, int(math.sqrt(num)) + 1)):
        primes.append(num)
print(primes)
  1. 使用列表推导式:

列表推导式是一种更简洁的方式来创建列表。它的工作原理与普通的for循环相同,只是它会生成一个新的列表。




import math
primes = [2] + [num for num in range(3, 100) if all(num % div != 0 for div in range(2, int(math.sqrt(num)) + 1))]
print(primes)
  1. 使用生成器:

生成器是一种able对象,使用时它们会计算并返回一个序列中的下一个值,而不是创建一个完整的序列。这样可以节省内存,特别是当你需要生成大量数据时。




import math
def primes(n):
    if n <= 2:
        yield 2
    for num in range(3, n):
        if all(num % div != 0 for div in range(2, int(math.sqrt(num)) + 1)):
            yield num
print(list(primes(100)))

以上三种方法都可以获取100以内的质数,第一种和第二种方法都会创建一个包含质数的列表,第三种方法会创建一个生成器,可以用来逐个生成质数。

最后修改于:2024年08月13日 22:36

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日