Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

171
Vistas
Fibonacci with two functions

I amb trying to create a Fibonacci sequence with two functions. Can you tell me where am I wrong, please?

Thank you!

function aurea(quantitatNum){
    let numFibo = [];

    numFibo[0] = 0, numFibo[1] = 1;

    for (i = 2; i < quantitatNum; i++) {
        numFibo[i] = numFibo[i - 2] + numFibo[i - 1];
        numFibo.push(i); 
        numFibo.pop(quantitatNum); 
    }
    return aureaNum;
}

function calcular(){
    let quantitatNum = Number(document.getElementById("quantitatNum").value);
    let dadaCorrecta = Number.isInteger(quantitatNum) && quantitatNum > 0 ? true : false;
    let resposta = document.getElementById("resposta");
    let aureaNum;

    if (dadaCorrecta){
        aureaNum = aurea(quantitatNum);
        resposta.innerHTML = aureaNum;

    } else {
        resposta.innerHTML = "Error! Introdueix un valor enter positiu!";
    }
}

Well, at the begining I created the following structure and it works. But when I tryied insert another function it didn't work...

function calcular(){
    let quantitatNum = Number(document.getElementById("quantitatNum").value);
    let dadaCorrecta = Number.isInteger(quantitatNum) && quantitatNum > 0 ? true : false;
    let resposta = document.getElementById("resposta");
    let numFibo = [];

    numFibo[0] = 0, numFibo[1] = 1;


    if (dadaCorrecta){
        for (i = 2; i < quantitatNum; i++) {
            numFibo[i] = numFibo[i - 2] + numFibo[i - 1];
            numFibo.push(i); 
            numFibo.pop(quantitatNum); 
        }
        resposta.innerHTML = numFibo;
    } else {
        resposta.innerHTML = "Error! Introdueix un valor enter positiu!";
    }
}
about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Some issues:

  • return aureNum makes no sense: that is not a variable that is declared in aurea, nor has it participated in the calculation.
  • numFibo.push(i): why would you push the index in this array? The previous line already adds the ith value to the array.
  • pop does not take an argument. No idea what you try to do here. However, after the loop, you could use pop to extract the last summed value and return it.
  • Depending on how you number Fibonacci numbers, the loop should continue until <=.

Here is a corrected version:

function aurea(quantitatNum){
    let numFibo = [];

    numFibo[0] = 0, numFibo[1] = 1;

    for (i = 2; i <= quantitatNum; i++) {
        numFibo[i] = numFibo[i - 2] + numFibo[i - 1];
    }
    return numFibo.pop();
}

function calcular(){
    let quantitatNum = Number(document.getElementById("quantitatNum").value);
    let dadaCorrecta = Number.isInteger(quantitatNum) && quantitatNum > 0 ? true : false;
    let resposta = document.getElementById("resposta");
    let aureaNum;

    if (dadaCorrecta){
        aureaNum = aurea(quantitatNum);
        resposta.innerHTML = aureaNum;

    } else {
        resposta.innerHTML = "Error! Introdueix un valor enter positiu!";
    }
}
<input id="quantitatNum"><button onclick="calcular()">Do</button>
<div id="resposta"></div> 

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda