Encontrar menor número que é produto de N primos

Bom, foi me passado um exercício e eu não consegui resolver ele :((
Pra ser feito em C++ (apesar de, pro nível do exercício, só mudar as funções de in e out de dados), e o enunciado é o seguinte:

Dado o número N, encontre o menor número formado pelo produto de N primos. O meu problema tá em encontrar o produto de números primos que constitui o número X (sabendo isso, é só botar isso dentro de um loop while), como que faz isso?
Obrigado aos que ajudarem :smiley:

Posta aí o que tu já fez que fica mais fácil pro pessoal te dar uma luz.

Boa tarde amigo.

Não sei se entendi muito bem o que você precisa, mas segue:

#include <iostream>
#include <list>

using namespace std;

    bool isPrimo(int numero)
    {
    if(numero > 3){
        if(numero % 2 == 0 || numero % 3 == 0){
            return false;
        }
    }
    return true;
};

std::list<int> fatoracao(int numero)
    {
    std::list<int> integer_list;
    int n = numero;
    int divisor = 2;
    printf("%d = ", numero);
    while(n > 1){
        if(n % divisor == 0){
            n = n/divisor;
            integer_list.push_back(divisor);
            printf("%d ", divisor);
        } else {
            divisor += 1;
        }
    }
    return integer_list;
}

int main()
{
    int d = 0;
    printf("Digite um número > ");
    scanf("%d", &d);
    printf("\nEste é o menor número primo > %d", fatoracao(d).front());
    
    return 0;
}

Boa sorte a todos. :metal::sunglasses::metal: