C言語で素数かどうかを判定の方法

素数は、1と自分自身以外に約数を持たない整数のことをいいます。ある数が素数かどうかを判定する1つの方法として、その数で割り切れるかどうかを調べる除算があります。

素数判定のC言語コードの例:

#include <stdio.h>

int isPrime(int num) {
    // 处理特殊情况:小于等于1的数不是素数
    if (num <= 1) {
        return 0;
    }

    // 遍历2到num-1之间的所有数
    for (int i = 2; i < num; i++) {
        // 如果num能够被i整除,则num不是素数
        if (num % i == 0) {
            return 0;
        }
    }

    // num没有被2到num-1之间的任何数整除,是素数
    return 1;
}

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

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

    return 0;
}

上記コードでは、isPrime() 関数は数値を素数かどうか判断するために使用されます。まず、特殊なケースを処理します。数値が 1 以下の場合は、素数ではないことを示す 0 を返します。次に、2 から数値の 1 つ前の値までのすべての数に対して順に繰り返し、数値を各数で割ることができるかどうかを判断します。数値がどれか 1 つの数値でも割り切れる場合は、素数ではないことを示す 0 を返します。数値がどの数でも割り切れない場合は、素数であることを示す 1 を返します。

main() 関数では、最初にユーザー入力から正の整数を受け取り、その整数が素数かどうかを `isPrime()` 関数で判定し、判定結果に応じてメッセージを出力します。

このプログラムを実行すると、数字を入力すると、それが素数かどうかを出力します。

bannerAds