想问下各种找素数有什么好办法吗,为什么我这个代码运行后很怪

img


想问下各位找素数有什么好办法吗,为什么我这个代码运行后有点怪,第一次学c语言很多不会,请各位指正

欧拉筛

【以下回答由 GPT 生成】

首先,根据你提供的代码,我们可以看到你在for循环之前就将x赋值为21,这样会导致你的循环从21开始,而不是从2开始寻找素数。所以你可以直接删除这行代码x=21;

其次,对于奇怪的文件大小问题,可能是编译器或者编辑器的错误导致的,你可以尝试重新编译和运行代码,或者使用其他编辑器或编译器进行代码调试。

以下是修正后的代码:

#include <stdio.h>

int main() {
  int x;
  int i;

  for (x = 2; x < 1000; x++) {
    int isPrime = 1;

    for (i = 2; i < x; i++) {
        if (x % i == 0) {
            isPrime = 0;
            break;
        }
    }

    if (isPrime == 1) {
        printf("%d\n", x);
    }
  }

  return 0;
}

这个修正后的代码将从2到999之间的数字逐个检查是否是素数,并将素数输出到屏幕上。

希望以上解决方案对您有所帮助。如果您有任何其他疑问,请随时提问。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^