Programming language is JAVA:
Write a public static method named static long tribonacci(int n, long a, long b, long c)
that returns the nth "tribonacci number" when initialially called with tribonacci(n, 0, 1, 1).
Tribonacci numbers start with 0, 1, 1, for tribonacci(0), tribonacci(1), tribonacci(2).
Then each subsequent number is the sum or the previous three numbers.
That means the first ten elements in the sequence are 0, 1, 1, 2, 4, 7, 13, 24, 44, 81.
Use an algorithm similar to Exercise 00293.
At every iteration , a, b and c will be the values of three consecutive tribonacci numbers (assuming the initial call is tribonacci(n, 0, 1, 1).
As n goes down by 1, b takes the position of a, c take the position of b and a+b+c takes the position of c.
When n = 0, the return value will be a.