C++ 로 소수 판별하기

C++Beginner
지금 연습하기

소개

이 랩에서는 주어진 숫자가 소수인지 아닌지를 확인하는 C++ 프로그램을 작성하는 방법을 배우게 됩니다. 소수 (Prime number) 는 1 과 자기 자신으로만 나누어 떨어지는 숫자입니다. 이는 정수론에서 중요한 개념이며 암호학 (cryptography) 등 많은 분야에서 중요한 응용 분야를 가지고 있습니다.

새 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;

    // Get the number from the user
    cout << "Enter a positive integer: ";
    cin >> n;

    // Check whether the number is prime
    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++ 프로그램을 작성하는 방법을 배웠습니다. 이제 수론 및 암호학에서 중요한 이 개념에 대한 확실한 이해를 갖게 되었습니다.