Programación de algoritmos intermedios - Suma todos los números impares de Fibonacci

Cuéntanos qué está pasando:
¿Para que funciona prevNumber = currNumber - prevNumber; ?, no entiendo esa parte de codigo!

  **Tu código hasta el momento**
function sumFibs(num) {

let prevNumber = 0;

let currNumber = 1;

let result = 0;

while (currNumber <= num) {
  if (currNumber % 2 !== 0) {
    result += currNumber;
  }
  currNumber += prevNumber;
  prevNumber = currNumber - prevNumber;
}

return result;
}

sumFibs(4);


  **Información de tu navegador:**

El agente de usuario es: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 OPR/90.0.4480.84

Desafío: Programación de algoritmos intermedios - Suma todos los números impares de Fibonacci

Enlaza al desafío:

I hope an explanation in English is fine too

This could be made less confusing using a temp variable

const temp = currNumber
currNumber += prevNumber
prevNumber = temp

You need to have at the end that prevNumber has the value that currNumber had before starting the calculation of the new number.

It can also be done like

[prevNumber, currNumber] = [currNumber, currNumber + prevNumber]

using array destructuring

Using the code you have is incredibly confusing

1 Like