C语言如何高效找出100到200间的素数?

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

C语言求100到200之间的素数

以下是使用C语言找出100到200之间所有素数的代码:

c语言求100 200素数
(图片来源网络,侵删)
#include <stdio.h>
#include <math.h>
int isPrime(int num) {
    if (num <= 1) {
        return 0;
    }
    if (num == 2) {
        return 1;
    }
    if (num % 2 == 0) {
        return 0;
    }
    for (int i = 3; i <= sqrt(num); i += 2) {
        if (num % i == 0) {
            return 0;
        }
    }
    return 1;
}
int main() {
    printf("100到200之间的素数有:\n");
    for (int i = 100; i <= 200; i++) {
        if (isPrime(i)) {
            printf("%d ", i);
        }
    }
    printf("\n");
    return 0;
}

代码说明:

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

    • 小于等于1的数不是素数
    • 2是唯一的偶素数
    • 其他偶数不是素数
    • 对于奇数,检查从3到其平方根的所有奇数是否能整除该数
  2. main函数

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

输出结果:

运行该程序将输出:

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素数
(图片来源网络,侵删)
  1. 使用埃拉托斯特尼筛法(Sieve of Eratosthenes)来找出一定范围内的所有素数
  2. 跳过更多明显的非素数情况(如末尾是5的数)
-- 展开阅读全文 --
头像
dede栏目列表空白是什么原因导致的?
« 上一篇 03-19
dede 不能生成首页
下一篇 » 03-19

相关文章

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

目录[+]