温馨提示×

c语言素数如何表达

小亿
116
2023-12-04 12:10:45
栏目: 编程语言

在C语言中,可以使用以下方法来判断一个数是否为素数:

  1. 使用循环遍历2到n-1,判断n是否能够被这些数整除。如果能够被任何一个数整除,则n不是素数;如果不能被任何一个数整除,则n是素数。
#include <stdio.h>

int isPrime(int n) {
    if (n <= 1) {
        return 0;
    }

    for (int i = 2; i < n; i++) {
        if (n % i == 0) {
            return 0;
        }
    }

    return 1;
}

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

    if (isPrime(n)) {
        printf("%d是素数\n", n);
    } else {
        printf("%d不是素数\n", n);
    }

    return 0;
}
  1. 使用更高效的算法,只需要遍历2到sqrt(n)即可。如果找到一个能够整除n的数,则n不是素数;如果找不到能够整除n的数,则n是素数。
#include <stdio.h>
#include <math.h>

int isPrime(int n) {
    if (n <= 1) {
        return 0;
    }

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

    return 1;
}

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

    if (isPrime(n)) {
        printf("%d是素数\n", n);
    } else {
        printf("%d不是素数\n", n);
    }

    return 0;
}

这些代码可以判断输入的整数是否为素数,并输出相应的结果。

0