Wpis z mikrobloga

Cześć! Mam mały problemik z pewnym mini zadaniem w C++. Należy zamienić podaną niżej funkcję tak by nie pojawiło się w niej słówko goto, while, for (czyli brak jakichkolwiek pętli), a dawała ten sam rezultat. Nie wolno korzystać z rozwiązań z innych bibliotek. Rozwiązaniem wydaje się być rekurencja. Nie wiem jednak jak załatwić nią pętle zagnieżdżone, które dodatkowo mają w sobie odwołania do innych funkcji (przyjmujemy, że podana funkcja "Add" coś tam robi, nie interesuje nas to). Może ktoś coś pomóc, podpowiedzieć?

Kod w którym należy pozbyć się pętli:

long long funkcja(string b){

for( int i = b.size() - 1; i >= 0; i--){

k = 0;

for( int j = 32; j > 0; j--)
temp = Add(i, j);

Add( temp, b.size() - 1 - i );
result = Add( result, temp);
}

return result;
}

#programowanie #programista15k #naukaprogramowania #studia #informatyka #cpp
  • 5
@tagtak: nie inicjujesz zmiennej result, zakładam, że ma być 0 na początku. Nie używasz też zmiennej k, olewam więc ją. Nie wiem, czy Add ma efekty uboczne, zakładam, że ma (bo inaczej pętla j=32..0 nie ma sensu bo nadpisujemy temp w ostatnim obrocie i tak :) - jeśli funkcja Add nie ma efektów ubocznych to po prostu cała pętla po j jest do wywalenia i wystarczy dać zamiast niej:

temp =