Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    funzione numeri primi in C

    Buon giorno a tutti, sto facendo un esercizio in C e mi chiede di scrivere una funzione che verifichi se un numero è primo o no io ho fatto questo tentativo


    #include <stdio.h>
    #define ISPRIMO 1
    #define NOTPRIMO 0

    typedef int bool;

    int primo (int a) {

    if ((a % a) == 0 & (a % 1) == 0)

    return ISPRIMO;

    else

    return NOTPRIMO;
    }

    il problema è che per ogni numero inserito il valore è sempre 1 e non capisco il perchè, potete aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: funzione numeri primi in C

    il problema è che per ogni numero inserito il valore è sempre 1 e non capisco il perchè, [/QUOTE]

    Beh ... spiega ad alta voce a te stesso cosa significa

    if ((a % a) == 0 & (a % 1) == 0)

    e capirai il perche'
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    innanzi tutto l'AND logico non è "&" ma "&&"
    e poi credi che verificare che un numero sia divisibile per se stesso e per uno basti per i numeri primi?

  4. #4
    quell'errore l'ho già corretto e spiegato a me stesso il problema è che non riesco a trovare l'algoritmo adatto per risolvere il problema

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da ferra03
    quell'errore l'ho già corretto e spiegato a me stesso il problema è che non riesco a trovare l'algoritmo adatto per risolvere il problema
    Ma se lo hai fatto, perche' lo proponi ? Noi vediamo quello che tu scrivi, non quello che tu pensi ...

    Come si trova un numero primo ? Quali sono le regole ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    non ci siamo capiti... io so che un numero è primo se è divisibile solo per se stesso e per 1...il problema è che non riesco a scriverlo in C

  7. #7
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    Originariamente inviato da ferra03
    non ci siamo capiti... io so che un numero è primo se è divisibile solo per se stesso e per 1...il problema è che non riesco a scriverlo in C
    ok, ma hai compreso il fatto che devi testare la divisibilità anche per tutti i numeri minori del numero primo? se testi solo che sia divisibile per se stesso e per uno chi ti dice che non sia divisibile anche per altri numeri?

  8. #8
    grazie mille ho già fatto...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.