素数的判断改错。,。

img

img

img


第一张图片是我的代码,麻烦帮看一下怎么改才能让下面两张图片的结果正确呢(左面正确,右面错误的是我输出的)

望采纳


代码实现参考如下

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

int is_prime(int num) {
    if (num <= 1) return 0;
    for (int i = 2; i <= sqrt(num); i++) {
        if (num % i == 0) return 0;
    }
    return 1;
}

int main() {
    int num;
    printf("请输入一个整数:");
    scanf("%d", &num);

    if (is_prime(num)) {
        printf("%d 是素数", num);
    } else {
        printf("%d 不是素数", num);
    }

    return 0;
}

上面的程序首先会提示用户输入一个整数,然后调用 is_prime 函数来判断该整数是否为素数。如果是素数,则输出“是素数”;否则输出“不是素数”。


int IsPrime(int num)
{
    int i = 0;
    for (i = 2; i <= sqrt(num); i++)
    {
        if (0 == num%i)
        {
            return 0;
        }
    }
    return 1;
}