Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [C] Numeri primi

  1. #1

    [C] Numeri primi

    Ciao,
    dovrei creare un programma che permetta di visualizzare se il numero è primo o no.
    Ho sviluppato un pò di codice... Sapete dirmi dove sbaglio???
    Codice PHP:
    /* Visualizzare se un numero è primo o no */
    #include <stdlib.h>
    #include <stdio.h>
    int main(){
        
    int resto,numero;
        
    printf("inserisci un numero maggiore di 0\n");
        
    scanf("%d",&numero);
        for(
    resto=numero%numeroresto!=0;){
            
    numero=resto;
            
    resto=numero%numero;
            
    printf("numero primo");
            }
        
    system ("pause");
        return 
    0;


  2. #2
    Un altro esercizio:
    Codice PHP:
    /*Leggere da tastiera due interi positivi e, considerando il primo come numeratore di una frazione
    e il secondo come denominatore, ridurre la frazione ai minimi termini (numeratore e donominatore
    divisi per il loro MCD) */
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    int main (){
        
    int numeratore,denominatore,resto,m1,m2;
        
    printf("inserisci il numeratore");
        
    scanf("%d",&numeratore);
        
    printf("inserisci denominatore");
        
    scanf("%d",&denominatore);
        for(
    resto=numeratore%denominatoreresto!=0;){
                                           
    numeratore=denominatore;
                                           
    denominatore=numeratore;
                                           
    resto=numeratore%denominatore;
                                           }
        
    m1=numeratore/resto;
        
    m2=denominatore/resto;
        
    printf("%d/%d = &d/%d",numeratore,denominatore,m1,m2);
        
    system("pause");
        return 
    0;

    Questo programma smette di funzionare dopo aver inserito i valori...

  3. #3

    Re: [C] Numeri primi

    Originariamente inviato da ryan atwood
    codice:
    resto=numero%numero
    Questo non ha nessun senso, numero%numero sarà sempre uguale a sé stesso. Per verificare se un numero è primo o meno devi provare a dividerlo per tutti i numeri primi fino a numero/2. Per individuare i numeri primi devi utilizzare un algoritmo come ad esempio il crivello di Eratostene. Per velocizzare un po' la questione poi di solito si tende a tenere nel programma i primi tot numeri primi già precomputati.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4

    Re: Re: [C] Numeri primi

    Originariamente inviato da MItaly
    Questo non ha nessun senso, numero%numero sarà sempre uguale a sé stesso. Per verificare se un numero è primo o meno devi provare a dividerlo per tutti i numeri primi fino a numero/2. Per individuare i numeri primi devi utilizzare un algoritmo come ad esempio il crivello di Eratostene. Per velocizzare un po' la questione poi di solito si tende a tenere nel programma i primi tot numeri primi già precomputati.
    Esempio pratico???
    Non ho capito come devo fare!

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Re: [C] Numeri primi

    Originariamente inviato da MItaly
    Questo non ha nessun senso, numero%numero sarà sempre uguale a sé stesso.
    Il resto di un numero diviso se stesso credo sia sempre zero

    Originariamente inviato da MItaly
    Per verificare se un numero è primo o meno devi provare a dividerlo per tutti i numeri primi fino a numero/2.
    Non si dovrebbe arrivare fino alla radice quadrata del numero?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6

    Re: Re: Re: [C] Numeri primi

    Originariamente inviato da Alex'87
    Il resto di un numero diviso se stesso credo sia sempre zero
    Giusto, hai ragione... scrivevo di fretta.
    Non si dovrebbe arrivare fino alla radice quadrata del numero?
    E anche qui hai ragione... promemoria per il futuro: rileggere quello che scrivo.

    Originariamente inviato da ryan atwood
    Non ho capito come devo fare!
    http://it.wikipedia.org/wiki/Test_di_primalit%C3%A0
    http://it.wikipedia.org/wiki/Crivello_di_Eratostene
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7

    Re: Re: Re: Re: [C] Numeri primi

    Originariamente inviato da MItaly
    Giusto, hai ragione... scrivevo di fretta.

    E anche qui hai ragione... promemoria per il futuro: rileggere quello che scrivo.


    http://it.wikipedia.org/wiki/Test_di_primalit%C3%A0
    http://it.wikipedia.org/wiki/Crivello_di_Eratostene
    Grazie... Ci ho pensato questa notte e finalmente sono riuscito (con l'aiuto di un amico) a scrivere l'algoritmo... ;-)
    Il problema ora è nell'altro... Appena lo esegue si blocca e smette di funzionare!

  8. #8
    Io per prima cosa separerei la logica di ricerca del MCD in una funzione, così che tu la possa testare separatamente. Poi, una volta che avrai una funzione MCD funzionante, scrivere il resto del programma sarà una scemata.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Re: Re: Re: Re: [C] Numeri primi

    Originariamente inviato da ryan atwood
    Il problema ora è nell'altro... Appena lo esegue si blocca e smette di funzionare!
    Non siamo sensitivi, se non ci fai vedere il codice che hai scritto non possiamo aiutarti
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  10. #10
    Originariamente inviato da MItaly
    Io per prima cosa separerei la logica di ricerca del MCD in una funzione, così che tu la possa testare separatamente. Poi, una volta che avrai una funzione MCD funzionante, scrivere il resto del programma sarà una scemata.
    Ok, grazie ora provo!

    Non siamo sensitivi, se non ci fai vedere il codice che hai scritto non possiamo aiutarti
    L'Algoritmo era dopo il primo!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.