Bardzo proste ćwiczenie na wyrobienie się w programowaniu – dodajemy dwie liczby rekurencyjnie i iteracyjnie. Do dzieła.

Reukrencja:

function sumRec(x, y){
    if(x === 0 || y === 0)
        return Math.max(x,y);
    return sumRec(x+1, y-1);
}

console.log(sumRec(4,15)); //19
console.log(sumRec(15,4)); //19

Iteracja:

function sumIter(x, y){
    if(x === 0 || y === 0)
        return Math.max(x,y);

    let bigger = Math.max(x, y);
    let smaller = Math.min(x, y);

    while(smaller > 0){
        bigger++;
        smaller--;
    }
    
    return bigger;
}

Mini-optymalizacja rekurencji (mniej wywołań):

function sumRec(x, y){
    if(x === 0 || y === 0)
        return Math.max(x,y);
    if(y > x)
        return sumRec(y, x);
    return sumRec(x+1, y-1);
}

console.log(sumRec(4,15)); //19
console.log(sumRec(15,4)); //19