Visualizzazione dei risultati da 1 a 8 su 8

Discussione: mcd

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    139

    mcd

    sta funzione calcola il massimo coumn divisiore


    codice:
    function gcd($a, $b) {  
        if ($b == 0)  
            return $a;  
        return gcd($b, $a%$b);  
    }   
     
    echo $risult = gcd($a,$b);

    il problema é come mai quando b é uguale a zero la funzione non ritorna la variabile $a ?

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    forse perchè echo $risult = gcd($a,$b) ti stampa il booleano risultato dell'assegnazione?
    fai così echo gcd($a,$b);
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    139
    non mi stampa niente a video in quel caso.

    devo inserire il dato per forza dentro alla variabile, l'echo in quella posizione é indicativa non ci sarebbe nella continuazione dello script.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Ho fatto alcune prove e tutte quante hanno funzionato perfettamente quindi qual'è il problema ?

    Es.
    Codice PHP:
    $a 2;
    $b 0;
    function 
    gcd($a$b) {  
        if (
    $b == 0)  
            return 
    $a;  
        return 
    gcd($b$a%$b);  
    }   
     
    echo 
    $risult gcd($a,$b); //output: 2 

  5. #5
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    a me dà il risultato corretto, con b=0 torna $a.
    non capisco cosa non ti torna
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    139
    prima eseguo questo controllo

    if (!empty($_POST['a']) && is_numeric($_POST['a']) && !empty($_POST['b']) && is_numeric($_POST['b'])){

    $a = $_POST['a'];
    $b = $_POST['b'];



    se é tutto ok parte lo script in caso contrario stampo un'errore (mi vien fuori l'errore se inserisco lo 0)

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da sharpin
    prima eseguo questo controllo

    if (!empty($_POST['a']) && is_numeric($_POST['a']) && !empty($_POST['b']) && is_numeric($_POST['b'])){

    $a = $_POST['a'];
    $b = $_POST['b'];



    se é tutto ok parte lo script in caso contrario stampo un'errore (mi vien fuori l'errore se inserisco lo 0)
    Ti basta controllare entrambe le variabili con is_numeric dato che se sono numeriche non sono vuote , comunque controlla i valori passati

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    139
    mo funge grazie roccia

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.