C++ で素数を判定する

C++Beginner
オンラインで実践に進む

はじめに

この実験では、与えられた数が素数かどうかをチェックするための C++ プログラムを書く方法を学びます。素数とは、1 とそれ自身のみで割り切れる数です。これは整数論における重要な概念であり、暗号学において多くの重要な応用があります。

新しい C++ ソース ファイルを作成する

まず、~/project/ ディレクトリに main.cpp という名前の新しい C++ ソースファイルを作成します。

cd ~/project
touch main.cpp

素数をチェックするための C++ プログラムを書く

次のコードを main.cpp ファイルにコピーします。

#include <iostream>

using namespace std;

int main() {
    int n, i;
    bool isPrime = true;

    // ユーザーから数値を取得する
    cout << "Enter a positive integer: ";
    cin >> n;

    // その数が素数かどうかをチェックする
    for(i=2; i<=n/2; i++) {
        if(n%i == 0) {
            isPrime = false;
            break;
        }
    }

    if(isPrime) {
        cout << n << " is a prime number." << endl;
    } else {
        cout << n << " is not a prime number." << endl;
    }

    return 0;
}

このプログラムは、ユーザーから整数 n を取得し、それが素数かどうかをチェックします。もし素数ならば、n is a prime number. を出力します。そうでなければ、n is not a prime number を出力します。

プログラムをコンパイルして実行する

Ubuntu システムのターミナルを開き、~/project/ ディレクトリに移動します。

cd ~/project

次のコマンドを実行して main.cpp コードをコンパイルします。

g++ main.cpp -o main

コンパイル済みの実行可能ファイルを次のコマンドを実行して実行します。

./main

プログラムをテストする

次に、異なる数値を入力して、それらが素数かどうかをチェックします。

Enter a positive integer: 17
17 is a prime number.
Enter a positive integer: 57
57 is not a prime number.

まとめ

この実験では、与えられた数が素数かどうかをチェックするための C++ プログラムを書く方法を学びました。この概念をしっかりと理解しておくことは、整数論や暗号学において重要です。