Scrivere un programma che stampi a video "n" numeri primi

di SsaLaroLana il
6 risposte
Ciao a tutti !! Devo fare questo esercizio,che dato in input un valore "n" mi stampa a video "n" numero primi !!! Vi incollo il sorgente qui,perchè vorrei sapere come mai,me li stampa,tranne il 2 e il 3! Mi sta scoppiando la faccia,se qualcuno m dasse una mano ne sarei molto contento!!!

Ecco il sorgente :
#include <stdio.h>

int main()
{
    int k, n, primo, incremento, divisore;
    
    printf("numero : ");
    
    fflush(stdin);
    k = scanf("%d",&n);
    
    while( n<= 0 || k == 0 )
    {
        printf("ERRORE");
        
        fflush(stdin);
        k = scanf("%d");
    }
    
    primo = 2;
    incremento = 0;
    
    while(incremento < n )
    {
        primo++;
        
        for(divisore = 2 ; divisore <= primo/2 ; divisore++)
        {
            if( primo%divisore == 0 )
            
            divisore = primo;
            
            if(( primo%divisore!=0 ) && ( divisore = primo / 2 ))
            {
                printf("%d  ",primo);
                
                incremento++;
            }
        }
    }
        
        system("pause");
        return 0;
}
Edit skynet: Insermento code tags

6 Risposte

  • Prima di incollare il codice potersti anche mettere i tag code così possimao comprendere il tuo codice?
  • Si scusami,non sono tanto pratico con i forum e mi scordo le cose ! -.-" Comunque scrivo in C !!!
  • Io intendevo modificare il tuo primo post com'è adesso. Che fosse C si era capito. Non ti sembra + chiaro adesso il codice? Se vuoi vedere come ho fatto clicca su modifica n el tuo primo post e vedi le cose aggiunte.

    Cmq il tuo problema sta quà:
    
    for(divisore = 2 ; divisore <= primo/2 ; divisore++)
    
    Se primo = 3 e divisore = 2 oppure 3, il for non viene eseguito perche la condizione non è stata esaurita. 2 non è <= 3/2 oppure 3 non è <= 3/2 .
  • Si in effetti ora è indentato come si deve ! Faceva schifo prima,ma non sapevo sta cosa! Grazie !
    Ok si,questo è chiaro,ma sinceramente non sò come muovermi !
  • Ok perfetto risolto tutto, e tutto chiaro ! Grazie a tutti per l'aiuto!
Devi accedere o registrarti per scrivere nel forum
6 risposte