Table of Contents
Problem statement
In the problem ” N-th Tribonacci Number” we are given a number n. Our task is to find out the N-th tribonacci number.
The zeroth tribonacci number is 0. The first tribonacci number is 1. The second tribonacci number is 1.
N-th tribonacci number is summation of (N-1- th tribonacci number), (N-2- th tribonacci number), and (N-3- th tribonacci number).
Example
n = 4
4
Explanation: As zeroth, first ,and second tribonacci numbers are 0,1,1 respectively. So the third tribonacci number is (0+1+1) 2. Likewise, the fourth tribonacci is (1+1+2) 4.
Approach for N-th Tribonacci Number Leetcode Solution
As N-th tribonacci number is defined as the summation of (N-1), (N-2), and (N-3) tribonacci number. So we first need the (N-3)-th tribonacci number this will be used in calculating (N-2), (N-1), and (N)-th tribonacci number. So now our new problem is to calculate (N-3)-th tribonacci number. Here we can conclude one thing that is to calculate the N-th tribonacci number we need to calculate one to N-th tribonacci number because every next value is dependent on the previous three values. We will follow these steps:
- We will store the values of zeroth, first and second tribonacci numbers in three variables namely a, b, and c respectively.
- Here a,b, and c will store the last three tribonacci numbers. Using these last three tribonacci numbers we will calculate the next tribonacci number and then update the values of a,b, and c.
- We will repeat step-2 until we find the value of the N-th tribonacci number then we will return it.
Implementation
C++ code for N-th Tribonacci Number
#include <bits/stdc++.h> using namespace std; int tribonacci(int n) { if (n < 2) return n; int a = 0, b = 1, c = 1, d = a + b + c; while (n-- > 2) { d = a + b + c, a = b, b = c, c = d; } return c; } int main() { int n=4; int ans=tribonacci(n); cout<<ans<<endl; return 0; }
4
Java code for N-th Tribonacci Number
import java.util.Arrays; import java.util.Set ; import java.util.HashSet; import java.util.*; public class Tutorialcup { public static int tribonacci(int n) { if (n < 2) return n; int a = 0, b = 1, c = 1, d; while (n-- > 2) { d = a + b + c; a = b; b = c; c = d; } return c; } public static void main(String[] args) { int n=4; int ans=tribonacci(n); System.out.println(ans); } }
4
Complexity Analysis of N-th Tribonacci Number Leetcode Solution
Time complexity
The time complexity of the above code is O(n) because we are iterating till the N-th tribonacci number. Here n is the given number for which we need to calculate N-th tribonacci number.
Space complexity
The space complexity of the above code is O(1) because we are using only a variable to store answer.