在 C 中查找质数的 for 循环问题,Visual Studio

Issues in for loop for finding Prime number in C, Visual Studio

我用 C 写了一个简单的 for 循环来判断输入的数字是否是质数。在 运行 上,即使输入简单的值,如 7、13 等,程序也只是停滞不前,似乎正在处理一些巨大的事情。我有一个 i53340M,所以处理能力真的不是问题。 CPU 所有内核的使用率都飙升至 25%,即使等待几分钟后我也看不到任何结果。当然,现代处理器并不慢,C 非常快,比 Python 快得多,它本身就是非常快速地检查素数的 cabale。

在我看来,我做了一些愚蠢的事情,让代码没有优化或臃肿。请看一看并告诉我哪里出错了:

    int num,i,chk = 0 ;
    printf("\nEnter positive integer to check : ");
    scanf("%d", &num);
    for (i = 2; i = num / 2; i++)
    {
        if (num%i == 0)
        {
            break;
            chk = 1;
        }
    }
    if(num == 1)
        printf("\n\n1 is neither prime not composite.\n");
    else if(chk == 1)
        printf("\n\nThe number %d is indeed prime.\n", num);
    else
        ("\n\nThe number %d is not actually prime.\n", num);

i = num / 2num / 2 分配给 i 并评估为“真”以继续 for 循环。 (当 n 大于 1 时)。您可能有意 i <= num / 2.