본문 바로가기

Programming language/C++

[C++] 소수 판별 프로그램

이 프로그램을 사용하면 사용자가 범위(시작 및 끝 숫자)를 입력하면 해당 범위 내의 모든 소수를 생성하여 표시할 수 있습니다.

 

소스코드

#include <iostream>
#include <vector>
using namespace std;

// Function to check if a number is prime
bool isPrime(int num) {
    if (num <= 1) {
        return false;
    }
    for (int i = 2; i * i <= num; i++) {
        if (num % i == 0) {
            return false;
        }
    }
    return true;
}

// Function to generate prime numbers in a given range
vector<int> generatePrimes(int start, int end) {
    vector<int> primes;

    for (int i = start; i <= end; i++) {
        if (isPrime(i)) {
            primes.push_back(i);
        }
    }

    return primes;
}

int main() {
    int start, end;

    cout << "Prime Number Generator" << endl;
    cout << "Enter the starting number: ";
    cin >> start;
    cout << "Enter the ending number: ";
    cin >> end;

    if (start > end) {
        cout << "Invalid range. Starting number should be less than or equal to the ending number." << endl;
        return 1; // Exit with an error code
    }

    vector<int> primeNumbers = generatePrimes(start, end);

    cout << "Prime numbers in the range " << start << " to " << end << " are:" << endl;
    for (int prime : primeNumbers) {
        cout << prime << " ";
    }
    cout << endl;

    return 0; // Exit successfully
}

 

출력 결과

Prime Number Generator
Enter the starting number: 1
Enter the ending number: 20
Prime numbers in the range 1 to 20 are:
2 3 5 7 11 13 17 19