merge: Add TribonacciNumber in dp (#839)

This commit is contained in:
YATIN KATHURIA
2021-11-20 09:43:27 +05:30
committed by GitHub
parent c1c895bebd
commit f379475723
2 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,20 @@
/**
* @function Tribonacci
* @description Tribonacci is the sum of previous three tribonacci numbers.
* @param {Integer} n - The input integer
* @return {Integer} tribonacci of n.
* @see [Tribonacci_Numbers](https://www.geeksforgeeks.org/tribonacci-numbers/)
*/
const tribonacci = (n) => {
// creating array to store previous tribonacci numbers
const dp = new Array(n + 1)
dp[0] = 0
dp[1] = 1
dp[2] = 1
for (let i = 3; i <= n; i++) {
dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3]
}
return dp[n]
}
export { tribonacci }

View File

@ -0,0 +1,23 @@
import { tribonacci } from '../TribonacciNumber'
describe('TribonacciNumber', () => {
it('tribonacci of 0', () => {
expect(tribonacci(0)).toBe(0)
})
it('tribonacci of 1', () => {
expect(tribonacci(1)).toBe(1)
})
it('tribonacci of 2', () => {
expect(tribonacci(2)).toBe(1)
})
it('tribonacci of 10', () => {
expect(tribonacci(10)).toBe(149)
})
it('tribonacci of 25', () => {
expect(tribonacci(25)).toBe(1389537)
})
})