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;
   }
}

 

Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page
jesus_coam fa frequenti 11 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.

Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page
Joshua ha detto rende 11 mesi