酷代码 AI
菜单
服务商

题目描述 试编一个程序,用筛数法输出100以内所有的素数,并统计个数。 输出 100以内所有的素数,并在下一行统计出素数个数

以下是使用 Python 语言实现用筛数法输出 100 以内所有素数并统计个数的代码: ```python # 初始化一个长度为 101 的布尔列表,初始值都为 True is_prime = [True] * 101 # 0 和 1 不是素数 is_prime[0] = is_prime[1] = False # 从 2 开始遍历到 100 的平方根 for i in range(2, int(1000.5) + 1): if is_prime[i]: # 将 i 的倍数标记为非素数 for j in range(i * i, 101, i): is_prime[j] = False # 存储素数的列表 primes = [] # 遍历 2 到 100 的所有数 for i in range(2, 101): if is_prime[i]: primes.append(i) # 输出 100 以内的所有素数 for prime in primes: print(prime, end=" ") print() # 输出素数的个数 print(len(primes)) ``` 代码解释 1. 初始化布尔列表:创建一个长度为 101 的布尔列表 `is_prime`,初始值都为 `True`,表示这些数都可能是素数。将 `is_prime[0]` 和 `is_prime[1]` 设为 `False`,因为 0 和 1 不是素数。 2. 筛数过程:从 2 开始遍历到 100 的平方根,如果当前数 `i` 是素数,则将 `i` 的倍数标记为非素数。 3. 收集素数:遍历 2 到 100 的所有数,如果 `is_prime[i]` 为 `True`,则将 `i` 加入到 `primes` 列表中。 4. 输出结果:输出 100 以内的所有素数,并在下一行输出素数的个数。 [2025-12-07 17:18:37 | AI问答 | 486点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多