File tree Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * @function Tribonacci
3+ * @description Tribonacci is the sum of previous three tribonacci numbers.
4+ * @param {Integer } n - The input integer
5+ * @return {Integer } tribonacci of n.
6+ * @see [Tribonacci_Numbers](https://www.geeksforgeeks.org/tribonacci-numbers/)
7+ */
8+ const tribonacci = ( n ) => {
9+ // creating array to store previous tribonacci numbers
10+ const dp = new Array ( n + 1 )
11+ dp [ 0 ] = 0
12+ dp [ 1 ] = 1
13+ dp [ 2 ] = 1
14+ for ( let i = 3 ; i <= n ; i ++ ) {
15+ dp [ i ] = dp [ i - 1 ] + dp [ i - 2 ] + dp [ i - 3 ]
16+ }
17+ return dp [ n ]
18+ }
19+
20+ export { tribonacci }
Original file line number Diff line number Diff line change 1+ import { tribonacci } from '../TribonacciNumber'
2+
3+ describe ( 'TribonacciNumber' , ( ) => {
4+ it ( 'tribonacci of 0' , ( ) => {
5+ expect ( tribonacci ( 0 ) ) . toBe ( 0 )
6+ } )
7+
8+ it ( 'tribonacci of 1' , ( ) => {
9+ expect ( tribonacci ( 1 ) ) . toBe ( 1 )
10+ } )
11+
12+ it ( 'tribonacci of 2' , ( ) => {
13+ expect ( tribonacci ( 2 ) ) . toBe ( 1 )
14+ } )
15+
16+ it ( 'tribonacci of 10' , ( ) => {
17+ expect ( tribonacci ( 10 ) ) . toBe ( 149 )
18+ } )
19+
20+ it ( 'tribonacci of 25' , ( ) => {
21+ expect ( tribonacci ( 25 ) ) . toBe ( 1389537 )
22+ } )
23+ } )
You can’t perform that action at this time.
0 commit comments