c - C 中的素数优化

标签 c primes

<分区>

我尝试打印质数; 2 到 100 万。但是控制台上没有打印任何内容。你能检查我的代码吗?我怎样才能使这段代码更优化?

这是我的代码:

#include <stdio.h>
#include <math.h>

main()
{
   int num, sr, num2;

   for (num = 2; num <= 1000000; num++) {
      sr = (int) sqrt(num);
      for (num2 = 2; sr % num2 != 0; num2++) {
         if (sr == num2) {
            printf("%d\n", sr);
         }
      }
   }

}

最佳答案

它编译了吗?

第 4 行:main() 应该是 int main()?

另一件事:sr = 1. 1 模任何数是 1。

最后。 sr 永远不会等于 num2,因为 sr 是 1 而 num2 是 2 或更大,所以它永远不会打印任何东西。

这会让你进入一个什么都不做的无限循环

关于c - C 中的素数优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15464677/

相关文章:

c - 允许某些进程读写目录并拒绝其余所有进程

python - PyUnicode字符串和C字符串之间的字符串转换是如何工作的?

c - 如果内存大小相等,如何将 C 结构转换为另一种结构类型?

最远互质算法

java 查找某个范围内数字相加为 10 的倍数的素数

c - 文件处理时我的二进制搜索树代码中的段错误

c++ - 检查socket是否连接

c++ - 对于给定的数字 N,我必须找到它所包含的所有质数

c# - 素数c#

python - 素数与 python