Hola, verás no existe ninguna fórmula para hallar números primos, o por lo menos no hasta que tengamos ordenadores cuánticos. De hecho creo que hay una recompensa de la EFF para el matemático que logre hallarla. De modo que lo que planteas la mejor solución es ayudarnos de la definición de número primo. Si un número sólo puede ser divisible entre sí mismo y uno, la solución sería ir comprobando valor por valor, que el resto de dividir el número entre sus inferiores sea distinto de 0, hasta el recibido por el usuario, algo así como:
Código:
int numero_actual = 2; //Primer primo
while(numero_actual <= suministrado){ // Suministrado será el que lees con scanf
int divisor = 2;
bool primo = true; // En el momento que sea false cortamos
while(divisor < numero_actual && primol){
primo == (numero_actual % divisor != 0)
divisor++;
}
if (primo) //Si no se ha puesto en false es que es primo
printf(numero_actual); // Y como es primo lo devolvemos
numero_actual++;
}