EspañolDeutschFrançaisItalianoPortuguêsРусскийΕλληνικά日本語中文(简体)हिन्दी; हिंदीالعربية
Configura come lingua predefinita
Domande di PF - Cose da fare

Come aggiungere numeri utilizzando la ricorsione su Java

Sto studiando ricorsione e pensato a fare qualche esempio. Mi mostra il codice che provo ad aggiungere i numeri dei 1 per la 5, cui il risultato sarebbe 15, pero me devuelve 16.

¿Qué puedo estar haciendo mal?

static void Main (string[] args) {
   Console.WriteLine(Sum(5));
   Console.Read();
}

static int Sum (int value) {
   if (value > 0) {
      return value + Sum(value-1);
   }
   else {
      return 1;
   }
}

 

jesus_coam fa frequenti 4 mesi
1 Risposte

Una función recursiva es una función en cuyo código se llama a sí misma. En su código puede encontrarse el caso recursivo, que es donde la función realiza la llamada a sí misma, E la caso base, donde no realiza ese tipo de llamadas.

Por lo que puedo ver en tu código, il caso recursivo es cuando value es mayor que 0, E la caso base es cuando value vale 0. Pero estás devolviendo 1, cuando value vale 0, cosa que no es correcta.

Lo correcto sería que el ritorno della caso base fuese 0.

Joshua ha detto rende 4 mesi
Condividerlo Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on VKShare on StumbleUponShare on TumblrShare on LinkedInEmail this to someonePrint this page