C语言查找素数:高效算法及代码示例

本文将介绍如何使用C语言编写程序,查找并打印小于或等于给定正整数n的所有素数。

什么是素数?

素数是指大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。例如,2、3、5、7、11都是素数。

C语言代码实现

以下是使用C语言查找素数的程序代码:c#include <stdio.h>

// 判断一个数是否为素数int isPrime(int num) { if (num <= 1) { return 0; }

// 优化循环次数,只需检查到平方根    for (int i = 2; i * i <= num; i++) {        if (num % i == 0) {            return 0;         }    }

return 1; }

// 打印小于等于n的所有素数void displayPrimes(int n) { printf('小于或等于 %d 的所有素数为:', n);

for (int i = 2; i <= n; i++) {        if (isPrime(i)) {            printf('%d ', i);        }    }

printf('

');}

int main() { int n;

printf('请输入一个正整数: ');    scanf('%d', &n);

displayPrimes(n);

return 0;}

代码解析

  1. isPrime(int num) 函数: - 接收一个整数 num 作为参数。 - 如果 num 小于等于 1,则直接返回 0(非素数)。 - 使用循环遍历从 2 到 num 的平方根的每个整数。 - 在循环中,如果 num 能被当前整数 i 整除,则说明 num 不是素数,返回 0。 - 如果循环结束后都没有找到能整除 num 的数,则说明 num 是素数,返回 1。

  2. displayPrimes(int n) 函数: - 接收一个整数 n 作为参数。 - 循环遍历从 2 到 n 的每个整数。 - 对于每个整数,调用 isPrime() 函数判断其是否为素数。 - 如果是素数,则打印该数。

  3. main() 函数: - 从用户处获取一个正整数 n。 - 调用 displayPrimes() 函数打印小于等于 n 的所有素数。

总结

本文介绍了使用C语言查找素数的方法,并提供了完整的代码示例和详细的代码解析。希望本文能够帮助你理解如何使用C语言解决这一经典的编程问题。

C语言查找素数:高效算法及代码示例

原文地址: https://www.cveoy.top/t/topic/Vxv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录