Tribonacci Flashcards
Die tribonacci Reihe ist folgendermaßen rekursiv definiert:
trib(n) = trib(n-1) + trib(n-2) + trib(n-3),
wobei trib(0) = 0, trib(1) = 1, trib(2)=1.
Implementiere eine Funktion trib(int n) welche die n-te Tribonacci Zahl berechnet. Bei negativen Zahlen soll das Programm abgebrochen werden.
- iterativ, also mit einer Schleife,
public class Tribonacci {
public static int tribonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1 || n == 2) {
return 1;
} else {
int a = 0;
int b = 1;
int c = 1;
int d;
for (int i = 3; i <= n; i++) {
d = a + b + c;
a = b;
b = c;
c = d;
}
return c;
}
}
public static void main(String[] args) { int n = 10; // Change this value to calculate a different term of the sequence if (n < 0) { System.out.println("Input must be a non-negative integer."); return; // End the program } System.out.println("The " + n + "th number of the Tribonacci sequence is " + tribonacci(n)); } }
Die tribonacci Reihe ist folgendermaßen rekursiv definiert:
trib(n) = trib(n-1) + trib(n-2) + trib(n-3),
wobei trib(0) = 0, trib(1) = 1, trib(2)=1.
Implementiere eine Funktion trib(int n) welche die n-te Tribonacci Zahl berechnet. Bei negativen Zahlen soll das Programm abgebrochen werden.
- rekursiv
public class Tribonacci {
public static int tribonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1 || n == 2) {
return 1;
} else {
return tribonacci(n - 1) + tribonacci(n - 2) + tribonacci(n - 3);
}
}
public static void main(String[] args) { int n = 10; // Change this value to calculate a different term of the sequence if (n < 0) { System.out.println("Input must be a non-negative integer."); return; // End the program } System.out.println("The " + n + "th number of the Tribonacci sequence is " + tribonacci(n)); } }