Tribonacci Flashcards

1
Q

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,
A

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));
} }
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

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
A

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));
} }
How well did you know this?
1
Not at all
2
3
4
5
Perfectly