Scrivi i numeri primi da 0 a 100

di il
8 risposte

Scrivi i numeri primi da 0 a 100

#include <stdio.h>
#include <stdlib.h>

int main() {
int n, numero, primo;
numero=1;
if(numero==1)
printf("%d ", numero);
numero=numero+1;
if(numero==2)
printf("%d ", numero);
numero=numero+1;
if(numero==3)
printf("%d ", numero);
numero=numero+1;

while(numero>=2 && numero<100) {
n=2;
primo=0;
while(n!=numero && n<=numero){
if(numero%n==0)
primo=1;
else
n=n+1;
}
if(primo!=1)
printf("%d ", numero);

numero = numero+1;
}
system("PAUSE");
return 0;
}





per favore mi corregete sto cacchio di codice? è da ieri che non ci riesco!! grazie mille a tutti
PS: le librerie che uso momentaneamente sono solo stdlib e stdio. mi serve semplice e magari con i commenti accanto.. grazie ancora e scusate il disturbo.

8 Risposte

  • Re: Scrivi i numeri primi da 0 a 100

    Ti serve corretto, semplice e con un commento accanto ... un caffè no?
  • Re: Scrivi i numeri primi da 0 a 100

    Utilizza i tag code per postare il codice.
    Cos'è che non ti funziona?
    Secondo me fai un pò di confusione: ad esempio 'numero' lo utilizzi per immagazzinare il numero corrente oppure per il conteggio dei numeri primi trovati finora?
    Dovresti ripartire scrivendo il tutto in pseudocodice.
  • Re: Scrivi i numeri primi da 0 a 100

    Non ho obbligato nessuno.. se vuoi aiutarmi, sei libero di farlo altrimenti lo chiederò alla mia prof domani!
    PS: se puoi anche mandarmi un caffè online, ti ringrazio!!
  • Re: Scrivi i numeri primi da 0 a 100

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
        int n, numero, primo;
        numero=1;
        if(numero==1)
        printf("%d  ", numero);
        numero=numero+1;
        if(numero==2)
        printf("%d  ", numero);
        numero=numero+1; 
        if(numero==3)
        printf("%d  ", numero);
        numero=numero+1;
        
        while(numero>=2 && numero<100) {
                n=2;
                primo=0;
               while(n!=numero && n<=numero){
                        if(numero%n==0)
                            primo=1;
                        else
                            n=n+1;
                        }
                if(primo!=1)
                printf("%d  ", numero);
                
                
        
                numero = numero+1;
                
                
        
    }                        
                        
    
    	system("PAUSE");
    	return 0;
    }
    
  • Re: Scrivi i numeri primi da 0 a 100

    Ad esempio:
    a- imposto 'valore' a 2
    b- imposto 'conteggio' a 0
    c- se 'valore' è primo allora lo stampo e incremento 'conteggio' di 1
    d- se 'conteggio' è uguale a 100 esco
    e- incremento 'valore' di 1
    f- vado al punto c

    il punto c lo devi esplodere in sottopunti per determinare se un numero è primo: se conosci le funzioni potresti fare una funzione che ti dice se un numero è primo.
  • Re: Scrivi i numeri primi da 0 a 100

    Grazie mille.. e il codice quindi è tutto sbagliato? io ancora non ho studiato le funzioni.. non si potrebbe risolvere altrimenti??? grazie
  • Re: Scrivi i numeri primi da 0 a 100

    Non è indispensabile scrivere una funzione.
    Se non sai come scrivere una funzione allora esplodi il punto c direttamente nel ciclo.
    Potresti scrivere qualcosa del tipo

    a- imposto 'valore' a 2
    b- imposto 'conteggio' a 0
    c- imposto 'primo' a 1
    c1- imposto 'divisore' a '2'
    c2- se 'valore'%'divisore'==0 allora setta 'primo' a 0 e vai a c5
    c3- incrementa 'divisore' di 1
    c4- se 'divisore'<'valore' vai a c2
    c5- se 'primo' è 1 allora lo stampo e incremento 'conteggio' di 1
    d- se 'conteggio' è uguale a 100 esco
    e- incremento 'valore' di 1
    f- vado al punto c

    Prova a verificare su carta e solo quando ne sei convinta passi alla codifica in C (naturalmente i salti li devi trasformare in cicli while o for...).
  • Re: Scrivi i numeri primi da 0 a 100

    angelacristinadoddis ha scritto:


    non ho obbligato nessuno..
    E ci mancherebbe ... è come si chiedono le cose ... quando si ha un problema si collabora spiegando cosa non si sa fare, spiegando cosa si è fatto (magari riga per riga) e indicando anche ciò che si è pensato di fare per risolvere. Un forum non è un "servizio commerciale" in cui si risolvono "sti cacchi di problemi" e basta.

    E' facile farsi scrivere un esercizio su un forum, difficile studiare e sbatterci la testa.
    lo chiederò alla mia prof domani!
    Ecco ... mi sembra la soluzione migliore ...
    se puoi anche mandarmi un caffè online, ti ringrazio!!
    Mi sto attrezzando ... attendi ...
Devi accedere o registrarti per scrivere nel forum
8 risposte