👤

1.Podaj opis algorytmu rekurencyjnego
DAje NAJJ


Odpowiedź :

Algorytm rekurencyjny to taki, który aby wykonać problem (np. coś obliczyć) wykonuje sam siebie, np.:

Chcemy w funkcji dodać wszystkie liczby o 1 do n

  • Rozwiązanie iteracyjne ("w pętli")

int dodawanie( int n ) //n to wartość podana przez użytkownika

{

   int suma = 0;

   for( int i = 0; i < n; i++ )

   {

       suma = suma + i;

   }

   return suma;

}

  • Rozwiązanie rekurencyjne

int dodawanie( int n, int suma ) // wartości podane przez użytkownika, n będzie przechowywać aktualną wartość do dodania, a suma będzie przechowywać aktualną sumę

{

   if( n == 0 ) return suma;                // jeżeli n jest równe 0 to już nie dodawaj (ponieważ chcemy dodawać liczby aż do 1, a nie 0 i niżej

   return dodawanie( n-1, suma+n ); // w przeciwnym wypadku wywołaj sam siebie - pomniejsz liczbę do dodania o 1, powiększ sumę o aktualne n

}