[C] numeri primi

dreaan92
Salve a tutti. Sto studiando le funzioni non ricorsive in C, ma mi sono bloccato con questo esercizio:
Si scriva un programma C che definisce una funzione:
int next_prime(int last);
che restituisce il numero primo immediatamente successivo a last.

Si utilizzi inoltre la seguente funzione main() per testarne il
funzionamento:
int main(void) {
int number;
int c;
int p = 2;
printf ("Quanti numeri primi vuoi stampare? ");
scanf ("%d”, &number);
for (c = 0; c < number; c++) {
printf("%d\n", p );
p = next_prime( p );
}
}


Non ho la più pallida idea di come procedere :cry:

Risposte
apatriarca
Dove incontri difficoltà? Nella creazione della funzione o nel capire come trovare il successivo numero primo?

dreaan92
Nel trovare il successivo numero primo

apatriarca
Ci sono diversi metodi, ma essendo un problema legato all'uso di funzioni e non di algoritmi, direi che ogni metodo può andare bene. Il più semplice consiste nel considerare un numero per volta maggiore del numero dato e verificare se si tratta di un numero primo verificando che non ha divisori.

dreaan92
Purtroppo non riesco a venirne a capo, sono bloccato. Non mi piace chiedere le cose fatte ma in questo caso proprio non riesco a fare nulla

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.