for循环中,用于在C,Visual Studio中查找素数

问题描述 投票:0回答:1

我在C语言中编写了一个简单的for循环,以查找输入的数字是否为质数。运行时,即使输入简单的值(例如7、13等),程序也只是坐在上面,似乎正在处理巨大的东西。我有一台i53340M,因此处理能力确实不是问题。在所有内核上,CPU使用率猛增25%,即使等待了几分钟,我也看不到任何结果。当然,现代处理器并不慢,而C则非常快,比Python快得多,Python本身却非常迅速地检查素数。

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

    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);
c visual-studio for-loop primes
1个回答
0
投票

i = num / 2num / 2分配给i,并评估为“ true”以继续for循环。您可能打算使用i <= num / 2

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.