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

BeeCrowd 1018

Por Isaac Franzen @IsaacFranzen
    2022-11-18 14:09:34.176Z

    Enunciado
    Leia um valor inteiro. A seguir, calcule o menor número de notas possíveis (cédulas) no qual o valor pode ser decomposto. As notas consideradas são de 100, 50, 20, 10, 5, 2 e 1. A seguir mostre o valor lido e a relação de notas necessárias.

    Entrada
    O arquivo de entrada contém um valor inteiro N (0 < N < 1000000).

    segue o meu código, está funcionando no meu visual mas apresenta o erro wrong answer 100% mesmo apresentando a saída exatamente igual a que o beeCrowd espera.

      int N, nota100, nota50, nota20, nota10, nota5, nota2, nota1, qtdNota100, qtdNota50, qtdNota20, qtdNota10, qtdNota5, qtdNota2, 
      qtdNota1, restante1, restante2, restante3, restante4, restante5, restante6, restante7;
    
            N = int.Parse(Console.ReadLine());
            nota100 = 100;
            nota50 = 50;
            nota20 = 20;
            nota10 = 10;
            nota5 = 5;
            nota2 = 2;
            nota1 = 1;
    
            qtdNota100 = N / nota100;
            restante1 = Math.Abs((qtdNota100 * nota100) - N);
    
            qtdNota50 = restante1 / nota50;
            restante2 = Math.Abs((qtdNota50 * nota50) - restante1);
            
            qtdNota20 = restante2 / nota20;
            restante3 = Math.Abs((qtdNota20 * nota20) - restante2);
    
            qtdNota10 = restante3 / nota10;
            restante4 = Math.Abs((qtdNota10 * nota10) - restante3);
    
            qtdNota5 = restante4 / nota5;
            restante5 = Math.Abs((qtdNota5 * nota5) - restante4);
    
            qtdNota2 = restante5 / nota2;
            restante6 = Math.Abs((qtdNota2 * nota2) - restante5);
    
            qtdNota1 = restante6 / nota1;
            
    
            Console.WriteLine($"{N}\n{qtdNota100} nota(s) de R$ {nota100:F2}\n{qtdNota50} nota(s) de R$ {nota50:F2}\n{qtdNota20} nota(s) de R$ {nota20:F2}\n{qtdNota10} nota(s) de R$ {nota10:F2}\n{qtdNota5} nota(s) de R$ {nota5:F2}\n{qtdNota2} nota(s) de R$ {nota2:F2}\n{qtdNota1} nota(s) de R$ {nota1:F2}"); 
    
    Resolvido no post #6, clique para visualizar
    • 7 respostas
    1. André Filipe @andresantos
        2022-11-18 16:06:16.485Z

        Para quem ainda vai fazer essa questão, observe o seguinte:

        O enunciado diz: "O arquivo de entrada contém um valor inteiro N (0 < N < 1000000)". Isso significa que qualquer valor fora desse intervalo não deve ser aceito. Logo, é esperado um tratamento de exceção após leitura do valor.

        Já sabemos que o beecrowd não rejeita um código com essa falta, mas se o professor tivesse elaborado essa questão, ele certamente decontaria pontos pela falta citada.

        1. Em resposta aIsaacFranzen:
          Gabriele Martins Pereira @gabi.mp
            2022-11-18 14:41:12.819Z

            Tem como você pegar o erro pra vermos?

            1. Isaac Franzen @IsaacFranzen
                2022-11-18 14:45:11.641Z

                O erro que aparece é esse aqui

                segue a imagem do meu código rodando na minha máquina e do lado a saída esperada no beecrowd

                1. FFábio Teixeira @fabiotbraga
                    2022-11-18 15:35:48.290Z

                    Vc poderia mostrar o log do seu erro? Aparece em submissões, aí clique em cima do wrong answer e mostra o teste que deu errado.

                    1. Isaac Franzen @IsaacFranzen
                        2022-11-18 15:52:05.250Z

                        Consegui aqui, depois de mudar algumas coisas no Console.Write do final do código ele me deu o erro Presentation Error e foi só arrumar a saída mesmo. Mt obg ai pessoal!

                  • J
                    Em resposta aIsaacFranzen:
                    Jonathan Assunção @jhow88
                      2023-10-29 05:24:56.603Z

                      Outra forma de resposta do beecrowd

                      1. Progress
                      2. Isaac Franzen @IsaacFranzen
                          2022-11-18 15:55:23.542Z

                          Resolvido, meu código ficou assim:

                                int valor, nota100, nota50, nota20, nota10, nota5, nota2, nota1, qtdNota100, qtdNota50, qtdNota20, qtdNota10, qtdNota5, qtdNota2, qtdNota1, restante1, restante2, restante3, restante4, restante5, restante6, restante7;
                                  valor = int.Parse(Console.ReadLine());
                                  nota100 = 100;
                                  nota50 = 50;
                                  nota20 = 20;
                                  nota10 = 10;
                                  nota5 = 5;
                                  nota2 = 2;
                                  nota1 = 1;
                          
                                  qtdNota100 = valor / nota100;
                                  restante1 = Math.Abs((qtdNota100 * nota100) - valor);
                          
                                  qtdNota50 = restante1 / nota50;
                                  restante2 = Math.Abs((qtdNota50 * nota50) - restante1);
                          
                                  qtdNota20 = restante2 / nota20;
                                  restante3 = Math.Abs((qtdNota20 * nota20) - restante2);
                          
                                  qtdNota10 = restante3 / nota10;
                                  restante4 = Math.Abs((qtdNota10 * nota10) - restante3);
                          
                                  qtdNota5 = restante4 / nota5;
                                  restante5 = Math.Abs((qtdNota5 * nota5) - restante4);
                          
                                  qtdNota2 = restante5 / nota2;
                                  restante6 = Math.Abs((qtdNota2 * nota2) - restante5);
                          
                                  qtdNota1 = restante6 / nota1;
                                  restante7 = Math.Abs((qtdNota1 * nota1) - restante6);
                          
                                  Console.WriteLine($"{valor}\n{qtdNota100} nota(s) de R$ 100,00\n{qtdNota50} nota(s) de R$ 50,00\n{qtdNota20} nota(s) de R$ 20,00\n{qtdNota10} nota(s) de R$ 10,00\n{qtdNota5} nota(s) de R$ 5,00\n{qtdNota2} nota(s) de R$ 2,00\n{qtdNota1} nota(s) de R$ 1,00");``