Powiedzmy, że n = 4
. Z rekursji chcę wrócić:Suma liczb za pomocą rekurencji java
1 1 1 1
1 1 2
1 3
2 1 1
2 2
3 1
4
Zasadniczo chcę wziąć numer n
i łącząc numery 1,2,3 i 4 stworzyć wszystkie możliwe wariacje, gdy liczba sum == n
.
To był mój pierwszy pomysł, ale daje mi
Wyjątek w wątku "main" java.lang.StackOverflowError
public static void test_2(String path, int sum, int n){
if(sum == n){
System.out.println(path);
} else {
test_2(path+"1 ", sum + 1, n);
test_2(path+"2 ", sum + 2, n);
test_2(path+"3 ", sum + 1, n);
test_2(path+"4 ", sum + 2, n);
}
}
Co z '1 2 1'? Nie chcesz tego, czy po prostu tęsknisz? – Gendarme
Tęskniłem za tym jednym, przepraszam. – juku
przegłosowano za zadanie domowe (prawdopodobnie) i podanie własnego kodu. Cieszę się, że niektórzy ludzie rozumieją, jak zadawać pytania tutaj. – sinclair