No internet connection
  1. Home
  2. Dúvidas Gerais

beecrowd | 1018 Cédula

Por Fabricio Postarek Curi @fabcuri
    2023-10-25 13:24:16.782Z

    ola, bom dia!!
    ainda não fechei esse exercicio das cedulas...
    olha o codigo que montei....basicão
    var input = require('fs').readFileSync('/dev/stdin', 'utf8');
    var notas = parseInt(input);

    var nota100 = Math.floor((notas / 100));
    var nota50 = Math.floor((notas % 100) / 50);
    var nota20 = Math.floor((notas % 50) / 20);
    var nota10 = Math.floor((notas % 20) / 10);
    var nota5 = Math.floor((notas % 10) / 5);
    var nota2 = Math.floor((notas % 5) / 2);
    var nota1 = Math.floor(notas % 2);

    console.log(${notas});
    console.log(${nota100} nota(s) de R$ 100,00);
    console.log(${nota50} nota(s) de R$ 50,00);
    console.log(${nota20} nota(s) de R$ 20,00);
    console.log(${nota10} nota(s) de R$ 10,00);
    console.log(${nota5} nota(s) de R$ 5,00);
    console.log(${nota2} nota(s) de R$ 2,00);
    console.log(${nota1} nota(s) de R$ 1,00);

    porém da erro no beecrowd

    qual seria a correção?

    • 10 respostas
    1. marcelo jhones @MarceloJhonesDev
        2023-10-25 13:37:52.559Z2023-10-25 13:58:18.450Z

        oi, tenta dessa maneira:
        var input = require("fs").readFileSync("stdin", "utf8");
        var notas = parseInt(input);
        let notaAux = notas;
        var nota100 = Math.floor(notas / 100);
        var nota50 = Math.floor((notas %= 100) / 50);
        var nota20 = Math.floor((notas %= 50) / 20);
        var nota10 = Math.floor((notas %= 20) / 10);
        var nota5 = Math.floor((notas %= 10) / 5);
        var nota2 = Math.floor((notas %= 5) / 2);
        var nota1 = Math.floor((notas %= 2));

        console.log(${notaAux});
        console.log(${nota100} nota(s) de R$ 100,00);
        console.log(${nota50} nota(s) de R$ 50,00);
        console.log(${nota20} nota(s) de R$ 20,00);
        console.log(${nota10} nota(s) de R$ 10,00);
        console.log(${nota5} nota(s) de R$ 5,00);
        console.log(${nota2} nota(s) de R$ 2,00);
        console.log(${nota1} nota(s) de R$ 1,00);

        o valor de notas não estava sendo atualizado a cada vez que vc fazia o módulo

        1. Em resposta afabcuri:

          Não está faltando as crases no console.log? Não sei se foi um bug aqui do fórum.

          1. F
            Em resposta afabcuri:
            Fabricio Postarek Curi @fabcuri
              2023-10-25 14:13:41.257Z

              Muito obrigado!!!.... as crases, deve ser algum bug do sistema
              mas o codigo não passa.... diz que tenho erro no calculo das notas de 10 e de 1...
              pior que ele finaliza no vsc.

              1. marcelo jhones @MarceloJhonesDev
                  2023-10-25 14:29:26.866Z

                  a crase quando joga pro forum é retirada. Vc tem foto do erro para mostrar pra gente?

                • F
                  Em resposta afabcuri:
                  Fabricio Postarek Curi @fabcuri
                    2023-10-25 14:38:23.557Z
                    1. marcelo jhones @MarceloJhonesDev
                        2023-10-25 14:42:07.698Z

                        eu dei uma modificada no seu código, você testou esse no vs code com as entradas do enunciado da questão? testa ele no vs code. Se passar, joga pro beecrowd. A sua variável notas nao esta sendo atualizada com o valor das operações de módulo.

                        var input = require("fs").readFileSync("stdin", "utf8");
                        var notas = parseInt(input);
                        let notaAux = notas;
                        var nota100 = Math.floor(notas / 100);
                        var nota50 = Math.floor((notas %= 100) / 50);
                        var nota20 = Math.floor((notas %= 50) / 20);
                        var nota10 = Math.floor((notas %= 20) / 10);
                        var nota5 = Math.floor((notas %= 10) / 5);
                        var nota2 = Math.floor((notas %= 5) / 2);
                        var nota1 = Math.floor((notas %= 2));

                        console.log(${notaAux});
                        console.log(${nota100} nota(s) de R$ 100,00);
                        console.log(${nota50} nota(s) de R$ 50,00);
                        console.log(${nota20} nota(s) de R$ 20,00);
                        console.log(${nota10} nota(s) de R$ 10,00);
                        console.log(${nota5} nota(s) de R$ 5,00);
                        console.log(${nota2} nota(s) de R$ 2,00);
                        console.log(${nota1} nota(s) de R$ 1,00);

                        1. @MarceloJhonesDev , você entrou com o valor a partir da variável notas e logo abaixo cria outra variável, notaAux que recebe o valor de notas. O motivo é apenas para exibir o valor de entrada, na saída?

                          1. marcelo jhones @MarceloJhonesDev
                              2023-10-28 21:06:18.640Z

                              Isso mesmo. Pq a variável notas é modificada para fazer a contagem das cédulas. Mas daria para fazer de outra maneira sem usar a variável auxiliar, que seria imprimir console.log(notas) antes de var nota100. Ou então fazer todas as operações de módulo em cima da variável auxiliar e não de notas.

                        2. Em resposta afabcuri:
                          Luiza Ferreira @luizaferreirafonseca
                            2023-10-29 17:58:48.609Z

                            Que bom que conseguiu! Reparei também que estavam faltando as frases.

                            São muitos detalhes né? Hehe

                            🙏🏼

                            1. Em resposta afabcuri:
                              Christian Amsberg Janner @calemao
                                2023-10-31 16:26:10.625Z

                                eu utilizei "for of" "for i" para resolver exercidio, achei de uma maneira mais simples de ser feita pois ele faz uma repetição automática para isso