prime number generator c++

#include <iostream>
#include <vector>

bool is_prime(int n) {
    if (n <= 1) {
        return false;
    }
    for (int i = 2; i * i <= n; ++i) {
        if (n % i == 0) {
            return false;
        }
    }
    return true;
}

std::vector<int> generate_primes(int limit) {
    std::vector<int> primes;
    for (int i = 2; i <= limit; ++i) {
        if (is_prime(i)) {
            primes.push_back(i);
        }
    }
    return primes;
}

int main() {
    int limit;
    std::cout << "Enter the upper limit for prime numbers: ";
    std::cin >> limit;

    std::vector<int> prime_numbers = generate_primes(limit);

    std::cout << "Prime numbers up to " << limit << " are: ";
    for (int prime : prime_numbers) {
        std::cout << prime << " ";
    }

    return 0;
}