Sudan

di il
5 risposte

Sudan

Salve, non riesco a implementare la funzione di Sudan in modo coretto in java,questo è quello che ho scritto io
public int Sudan(int n, int x, int y){

if( n==0) return x+y;

else if (y==0) return x;

else return Sudan(n, Sudan(n,x,y), Sudan(n,x,y)+1+y);



}

5 Risposte

  • Re: Sudan

    Questo è quello che ho trovato in giro
    Siano n , x , y ? N

    F 0 ( x , y ) = x + y ,

    F n + 1 ( x , 0 ) = x ,

    F n + 1 ( x , y + 1 ) = F n ( F n + 1 ( x , y ) , F n + 1 ( x , y ) + y + 1 )
  • Re: Sudan

    Per prima cosa scriverei meglio le condizioni dell'if.
    - Primo caso: n=0
    - Secondo caso: n>=0 e y =0
    - Terzo caso: n>=0 e y >0

    Se vuoi che il metodo esegua un calcolo, devi rivedere l'ultima riga che hai scritto.
  • Re: Sudan

    Grazie mille ma non sono riuscito a capire come scrivere la terza condizione
  • Re: Sudan

    Snic ha scritto:


    Grazie mille ma non sono riuscito a capire come scrivere la terza condizione
    La terza condizione la scrivi come:
    else if (n>=0 && y >0){}
    I calcoli che bisogna effettuare sono un'altra questione.
    Ma appunto, bisognerebbe prima capire che operazioni bisogna eseguire, prima di riportarli in Java.
  • Re: Sudan

    Magari questo ti può aiutare
    Nel paragrafo "What is exactly the Sudan function ?" viene presentata una semplificazione che dovrebbe aiutare l'implementazione
Devi accedere o registrarti per scrivere nel forum
5 risposte