Ich versuche, eine Reihe von Summe aus Ziffer bisheriger Bedingungen https://oeis.org/A004207Java-Programm Rekursion funktioniert nicht
1, 1, 2, 4, 8, 16, 23, 28, 38, 49, 62 zu erzeugen, , 70, 77, 91, 101, 103, 107, 115, 122, 127,
Dies ist der Code I
import java.math.BigInteger;
import java.util.ArrayList;
public class Problem {
public static int getDigitSum(int number) {
int total = 0;
while (number>0) {
total += total + number%10;
number = number /10;
}
return total;
}
public static int getSum(int number) {
if ((number == 0) || (number == 1)) // base cases
return number;
else
// recursion step
return getSum(getDigitSum(number - 1)) + getSum(number - 2);
}
public static void main(String s []) {
int sum =0, difference=1, previous =1, last;
//ArrayList <Integer> sum_list = new ArrayList <Integer>();
//sum_list.add(prevous);
for (int i = 1; i<10; i++) {
System.out.println(getSum(i));
}
}
}
produzieren
1
1
2
3
5
8
13
21
34
falschen Ausgang Dieser Code erhalten haben 0
Jene Leute, die abstimmen, kommentieren Sie bitte den Grund für die Abwärts – karu
Abstimmung Ich wähle diese Frage zu schließen, wie Off-Topic, weil OP ‚doesn Ich erwarte keine Antwort von irgendjemandem. –
@AndyTurner 1 + 1 + 2 + 4 + 8 + 16, wobei 16 = {1 + 6} = 7 – karu