generate tribonacci expected output 1 1 2 4 7 13 24 44 code example

Example 1: Tribonacci

const tribonacci = (signature,n) => {
    let orgArr = [...signature]
    let len = orgArr.length
    let arr = []
    if(n === 0){
        return []
    }else if(n < 3){
        orgArr = orgArr.slice(0, n)
    }else{
        for(let i = len; i < n; i++){
            if(i <= n){
                arr = orgArr.slice(-3)
                let nextValue = arr.reduce((acc, curr) => acc + curr, 0)
                orgArr.push(nextValue)
                arr = []
            }else{
                return 1
            }
        }
    }
    return orgArr
}

Example 2: iterative tribonacci python

def trib_iter(m):
    lista=[m]
    c=0
    d=True
    while d==True:
        novalista=[]
        for n in lista:
            if n in [0,1,2]:
                c+=1
            else:
                for i in range(1,4):
                    if n-i in [0,1,2]:
                        c+=1
                    else:
                        if n-i<0:
                            pass
                        else:
                            novalista.append(n-i)
        if novalista==[]:
            d=False
        else:
            lista=novalista
    return c