Python实现埃拉托斯特尼筛法求100以内素数及个数统计
我来帮助你用筛数法(埃拉托斯特尼筛法)找出100以内的所有素数。 ## 🧮 筛数法实现代码 ```python def sieve_of_eratosthenes(n): # 创建一个布尔数组,初始都标记为True(假设都是素数) is_prime = [True] * (n + 1) is_prime[0] = is_prime[1] = False # 0和1不是素数 # 筛法核心:从2开始,将所有倍数标记为非素数 for i in range(2, int(n ** 0.5) + 1): if is_prime[i]: # 将i的倍数标记为非素数 for j in range(i * i, n + 1, i): is_prime[j] = False # 收集所有素数 primes = [i for i in range(2, n + 1) if is_prime[i]] return primes # 找出100以内的素数 primes = sieve_of_eratosthenes(100) # 输出素数(用空格分隔) print(' '.join(map(str, primes))) # 输出素数个数 print(len(primes)) ``` ## 📊 代码解析 **筛法核心原理:** - 从2开始,将每个素数的倍数标记为合数 - 优化点:只需要检查到√n即可 **关键步骤:** 1. 创建标记数组,初始全为素数(True) 2. 从2开始,标记所有倍数为非素数 3. 统计剩余标记为True的数字 **输出结果:** - 第一行: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 - 第二行:25 ######[AI问答 | 433点数解答 | 2026-06-15 20:35:28]
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)538
- 补全代码:将数组所有元素赋值为 100 并输出(字节豆包 | 164点数解答 | 2025-11-01 19:14:57)134
- 星际编码大赛终极对决:机械星AI与异星人激战“逆序对”统计难题(字节豆包 | 509点数解答 | 2025-04-19 17:33:00)310
- C++实现图像模糊化处理:含代码、解释与复杂度分析(字节豆包 | 670点数解答 | 2025-11-10 18:55:33)147
- C++实现图像像素灰度值模糊化处理:输入输出全解析(字节豆包 | 655点数解答 | 2025-12-01 14:24:01)116
- Python 实现图像模糊化:输入像素值,输出处理后图像(附代码及详细解释)(字节豆包 | 555点数解答 | 2025-12-09 12:22:26)116
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)454
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)486
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)477
- 神秘数据背后的信息解读:样例输入与输出探秘(字节豆包 | 28点数解答 | 2024-12-12 11:56:59)436
- C++ 实现:快速查找 n 个正整数中的第 x 个数(字节豆包 | 380点数解答 | 2025-11-08 19:23:39)191
- C++实现:输入整数英文单词算乘积,输出数字与英文结果,可多次计算!(GPT | 2268点数解答 | 2024-05-24 01:55:27)408