C言語 素数判定:効率的なアルゴリズムと実装

素数かどうかを判断するには、次の方法を使用することができます:

  1. まず、この数が1以下かどうかを判断し、もし1以下であれば、素数ではありません。
  2. 2から数字nの平方根までの数で割り切れるかどうかを1つずつ確認し、割り切れた場合は素数ではないと判定します。
  3. もし、その数が2からsqrt(n)までの数で割り切れない場合は、素数である。

以下は、素数を判定するためにC言語で書かれたサンプルコードです。

#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 num;
    printf("Enter a number: ");
    scanf("%d", &num);
    
    if (isPrime(num)) {
        printf("%d is a prime number.\n", num);
    } else {
        printf("%d is not a prime number.\n", num);
    }
    
    return 0;
}

上記のコードは、最初に、数が素数かどうかを判定するisPrimeという関数を定義してから、main関数でユーザーの入力を読み取り、isPrime関数を呼び出してその数が素数かどうかを判定し、結果を出力する。

bannerAds