【C++】Nが素数か合成数かを判定する

条件分岐で N が2以上N/2以下の i で割りきれるときはbool型の flag に false を代入し、
条件分岐で変数 flag が true の場合は素数(Prime)を、それ以外のときは合成数(Composite)を出力するという方針で実装する。

#include <iostream>
using namespace std;

int main() {
  int N;
  cin >> N;

  bool flag = true;
  for (int i=2; i <= N/2; i++) {
    if (N%i == 0) {
      flag = false;
      break;
    }
  }

  if (flag == true) {
    cout << "Prime" << endl;
  } else {
    cout << "Composite" << endl;
  }

  return 0;
}

例えば、
        7
を入力すると
        Prime
が出力され、
        8
を入力すると
        Composite
が出力される。
※入力は2以上の整数とする

タイトルとURLをコピーしました