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}");
André Filipe @andresantosPara 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.
Em resposta aIsaacFranzen⬆:Gabriele Martins Pereira @gabi.mpTem como você pegar o erro pra vermos?
Isaac Franzen @IsaacFranzenO 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

- FFábio Teixeira @fabiotbraga
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.
Isaac Franzen @IsaacFranzenConsegui 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!
- JEm resposta aIsaacFranzen⬆:Jonathan Assunção @jhow88
Outra forma de resposta do beecrowd
- Progress
Isaac Franzen @IsaacFranzenResolvido, 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");``