C 语言:高效输出两数之间质数173



质数,即只能被 1 和自身整除的正整数,在计算机科学和数学中有着广泛的应用。本篇文章将深入剖析 C 语言中一种高效的算法,用于在给定的两个数之间输出所有质数。

算法原理

该算法基于埃拉托斯特尼筛法,一种筛选出从 2 到给定整数 n 范围内所有质数的方法。其基本思想是:从 2 开始,依次判断每个数是否为质数。对于每个被判定为质数的数 p,将从 p 的平方开始,将所有 p 的倍数标记为合数。这一过程一直持续到给定的上限。

C 语言实现
#include
#include
#include
// 创建一个 bool 数组,表示从 2 到 n 的所有数字是否为质数
bool *isPrime;
// 使用埃拉托斯特尼筛法计算质数
void sieveOfEratosthenes(int n) {
// 分配空间
isPrime = (bool *)calloc(n + 1, sizeof(bool));
// 将所有数字标记为质数
for (int i = 2; i

2024-12-06


上一篇:Linux C语言 system() 函数详解

下一篇:C 语言中的直接输出:理解 printf() 函数