@wytrzzeszcz Jako jedyny podałeś prawidłowe rozwiązanie więc mam pytanie - obliczyłeś w głowie czy na kartce? Ja zawsze do takich metod muszę używać kartki xD
nie no zaczynamy funkcje od 4, wpada program w instrukcje else (wypisuje ", 4") ; dzieli na 2 i znowu do else (wypisuje ", 2"); dzieli na 2, wchodzi w IF (wypisuje 1); wynik: ", 4, 21"
@Cyganowski: pamiętaj, że używając rekurencji wynik jest odkładany na stosie, a stos ma to do siebie, że ostatnie co do niego wejdzie pierwsze z niego wyjdzie, więc będzie 12,4
public void mystery1(int n) {
if (n <= 1) {
System.out.print(n);
} else {
mystery1(n / 2);
System.out.print(", " + n);
}
}
Jaki powinien być wynik dla mystery(4)?
Komentarz usunięty przez moderatora
dzieli na 2 i znowu do else (wypisuje ", 2");
dzieli na 2, wchodzi w IF (wypisuje 1);
wynik: ", 4, 21"
Komentarz usunięty przez moderatora
Mam pytanie do osób, które to rozwiązały. Jak myślicie, czy takie zadania pojawiają się na rozmowach rekrutacyjnych? I jaki waszym zdaniem to poziom?
Komentarz usunięty przez moderatora