C语言如何找出100到200之间的所有素数?

99ANYc3cd6
预计阅读时长 5 分钟
位置: 首页 C语言 正文

C语言:输出100到200之间的素数

以下是一个用C语言编写的程序,用于输出100到200之间的所有素数:

c语言 100 200 之间的素数
(图片来源网络,侵删)
#include <stdio.h>
#include <stdbool.h>
// 函数声明
bool isPrime(int num);
int main() {
    printf("100到200之间的素数有:\n");
    for (int i = 100; i <= 200; i++) {
        if (isPrime(i)) {
            printf("%d ", i);
        }
    }
    printf("\n");
    return 0;
}
// 判断一个数是否为素数的函数
bool isPrime(int num) {
    if (num <= 1) {
        return false;
    }
    if (num == 2) {
        return true;
    }
    if (num % 2 == 0) {
        return false;
    }
    // 检查从3到sqrt(num)的所有奇数
    for (int i = 3; i * i <= num; i += 2) {
        if (num % i == 0) {
            return false;
        }
    }
    return true;
}

程序说明:

  1. isPrime函数:用于判断一个数是否为素数

    • 首先处理一些特殊情况(小于等于1的数、2、偶数)
    • 然后检查从3到该数平方根的所有奇数是否能整除该数
    • 如果没有找到能整除的数,则该数为素数
  2. main函数

    • 遍历100到200之间的所有整数
    • 使用isPrime函数判断每个数是否为素数
    • 如果是素数,则打印输出

优化说明:

  • 程序跳过了所有偶数(除了2),因为它们不可能是素数
  • 只检查到该数的平方根,因为如果有一个大于平方根的因数,必然对应一个小于平方根的因数
  • 检查时只测试奇数,进一步提高效率

输出结果:

运行此程序将输出100到200之间的所有素数,结果如下:

101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 
c语言 100 200 之间的素数
(图片来源网络,侵删)
-- 展开阅读全文 --
头像
C语言中a a b c是什么意思?
« 上一篇 2025-12-14
织梦channel如何查询第一个?
下一篇 » 2025-12-14

相关文章

取消
微信二维码
支付宝二维码

目录[+]