PDA

Visualizza la versione completa : [C] Esercizio sui numeri primi, soluzioni?


andbaz
17-01-2014, 14:58
Non riesco proprio da dove iniziare a scrivere questo codice, voi come lo scrivereste? Aiuto! :nonlodire

Si scriva un programma C in cui si definisce la funzione int next prime(int last) che restituisce il numero primo immediatamente successivo a last.


Si scriva inoltre una funzione main che chiede all’utente un valore p e chiama la funzione next prime per stampare i primi p numeri primi.


Esempio
quanti numeri primi vuoi stampare? 7
2 3 5 7 11 13 17

MItaly
17-01-2014, 15:40
http://it.wikipedia.org/wiki/Crivello_di_Eratostene

andbaz
17-01-2014, 15:46
http://it.wikipedia.org/wiki/Crivello_di_Eratostene

Ma questo lo sapevo anche io, non sta li il mio problema ma in tutto il resto del programma!

MItaly
17-01-2014, 16:19
Hai provato a scrivere qualcosa? Dove incontri difficoltà? :stordita:

Scara95
17-01-2014, 16:20
Quando hai una lista di numeri primi hai risolto il problema...

andbaz
17-01-2014, 16:22
Hai provato a scrivere qualcosa? Dove incontri difficoltà? :stordita:

Si ho provato ma non servirebbe a niente incollartelo qui, non sono uno a cui piace ricevere la pappa pronta però in questo caso non riesco proprio ad uscirne.

Chiedo aiuto ad angelo qui che mi scriva il codice, perché qui non saprei proprio da dove partire per soddisfare le condizioni del programma, nemmeno un algoritmo sono riuscito a buttare giù su carta...

andbaz
17-01-2014, 16:52
Ho scritto questo, soddisfa le condizioni dell'esercizio secondo voi?



#include <stdio.h>


int next_prime(int last) {
int i,k,c=0;
int first;
for(k=2;c<last;k++) {
first=1;
for(i=2;i<k/2+1&&amp;first;i++) {
if(k%i==0) {
first=0;
}
}
if(first) {
printf("%i ",k);
c++;
}
}
}


int main(void) {
int p;
printf("Inserisci un numero: ");
scanf("%i", &p);
next_prime(p);
printf("\n");
return 0;
}

oregon
17-01-2014, 17:09
non sono uno a cui piace ricevere la pappa pronta

Ma neanche una ricerca vuoi fare?

http://antoniotancredi.altervista.org/2010/01/06/crivello-di-eratostene-in-c/

Loading