private static int chain(int n){
int count = 0;
while(n > 1){
if(n % 2 == 0){
count++; //the value is not stored
return chain(n/2);
}
count++; //same thing
return chain(3*n+1);
}
return count; //prints the initial value (0)
}
}
Muszę wydrukować liczbę powtórzeń metody łańcucha.Każdy pomysł, w jaki sposób mogę policzyć liczbę elementów, które potwierdzają warunek "Jeśli"?
Dokładnie to, czego potrzebowałem. –
To działa, ale uważam, że właściwą rzeczą przy pisaniu metody rekursywnej byłoby przekazanie zmiennej licznika. Utrzymuje to stan metody w wywołaniu stac raczej niż w zmiennej klasowej. Jak ktoś wspomniał, ta wersja nie byłaby bezpieczna dla wątków. – aglassman
Chociaż w kontekście twojego pytania, jest to całkowicie w porządku. – aglassman