Já tentei submeter o exerício 1021 de varias formas diferentes. Já resolvi com ifs e fors, sem ifs e fors, e ainda assim o beecrowd não aceita. Os códigos funcionaram perfeitamente no terminal, porém recebo 100% de resposta errada no beecrowd. Alguém conseguiu fazer esse com o beecrowd aceitando?
Linked from:
Gabriele Martins Pereira @gabi.mpBom, com a solução proposta pelo professor Hugo, funcionou:
using System; namespace Variaveis { public class Program { public static void Main(string[] args) { double vlr = double.Parse(Console.ReadLine()); int n100, n50, n20, n10, n5, n2; n100 = (int)(vlr / 100); vlr -= 100 * n100; n50 = (int)(vlr / 50); vlr -= 50 * n50; n20 = (int)(vlr / 20); vlr -= 20 * n20; n10 = (int)(vlr / 10); vlr -= 10 * n10; n5 = (int)(vlr / 5); vlr -= 5 * n5; n2 = (int)(vlr / 2); vlr -= 2 * n2; int m100, m50, m25, m10, m5; vlr *= 100; m100 = (int)(vlr / 100); vlr -= 100 * m100; m50 = (int)(vlr / 50); vlr -= 50 * m50; m25 = (int)(vlr / 25); vlr -= 25 * m25; m10 = (int)(vlr / 10); vlr -= 10 * m10; m5 = (int)(vlr / 5); vlr -= 5 * m5; Console.WriteLine("NOTAS:"); Console.WriteLine($"{n100} nota(s) de R$ 100.00"); Console.WriteLine($"{n50} nota(s) de R$ 50.00"); Console.WriteLine($"{n20} nota(s) de R$ 20.00"); Console.WriteLine($"{n10} nota(s) de R$ 10.00"); Console.WriteLine($"{n5} nota(s) de R$ 5.00"); Console.WriteLine($"{n2} nota(s) de R$ 2.00"); Console.WriteLine("MOEDAS:"); Console.WriteLine($"{m100} moeda(s) de R$ 1.00"); Console.WriteLine($"{m50} moeda(s) de R$ 0.50"); Console.WriteLine($"{m25} moeda(s) de R$ 0.25"); Console.WriteLine($"{m10} moeda(s) de R$ 0.10"); Console.WriteLine($"{m5} moeda(s) de R$ 0.05"); Console.WriteLine($"{vlr:F0} moeda(s) de R$ 0.01"); } } }
Lucas Ferreira @lksferreiraHello Gabi ^^,
Legal a iniciativa, estou disponibilizando a minha solução e explicando a lógica por trás do pensamento, eu sempre digo que quanto mais legível o código melhor.
private static void Main(string[] args) { /** 1021 - Notas e Moedas https://www.beecrowd.com.br/judge/pt/problems/view/1021 */// Recebe um valor double do usuário e guarda esse valor na variável valorInserido. double valorInserido = double.Parse(Console.ReadLine());// Guarda apenas a parte inteiro do valor double na variável valorNotas. int valorNotas = (int)(valorInserido);// Para tabalhar com as moedas iremos subtrair o inserido do valor inteiro e multiplicar por 100 para manipula-lo com inteiro. // Exemplo: R$250,57 - 250 = 0,57 // 0,57 * 100 // 57 -> Agora manipularemos a parte decimal como um inteiro. // Lógica por trás da moeda // Ao multiplicar o um decimal por 100 podemos tratar o valor como inteiro. // Pense assim: Ao invez de ler uma como como 0,50 de Real, iremos ler ela como 50 centavos. double moedasConvertidas = Math.Floor((valorInserido - valorNotas)*100);//Remove todas as possíveis casa do número infinitéssimo gerado na manipulação dos números. int valorMoedas = (int)moedasConvertidas;//Agora replicamos a lógica de cima em pequenos blocos dos valores que queremos obter.//Obtem as notas de 100 int notas100 = valorNotas/100; valorNotas -= notas100*100;//Obtem as notas de 50 int notas50 = valorNotas/50; valorNotas -= notas50*50;//Obtem as notas de 20 int notas20 = valorNotas/20; valorNotas -= notas20*20;//Obtem as notas de 10 int notas10 = valorNotas/10; valorNotas -= notas10*10;//Obtem as notas de 5 int notas5= valorNotas/5; valorNotas -= notas5*5;//Obtem as notas de 2 int notas2 = valorNotas/2; valorNotas -= notas2*2;//Obtem as notas de 1 int moeda1 = valorNotas/1; valorNotas -= moeda1*1;//Obtem as moedas de 50 int moeda50 = valorMoedas/50; valorMoedas -= (moeda50*50);//Obtem as moedas de 25 int moeda25 = valorMoedas/25; valorMoedas -= moeda25*25;//Obtem as moedas de 10 int moeda10 = valorMoedas/10; valorMoedas -= moeda10*10;//Obtem as moedas de 05 int moeda05 = valorMoedas/05; valorMoedas -= (moeda05*05);//Obtem as moedas de 1 int moeda01 = valorMoedas/1; valorMoedas -= moeda01*1;Console.WriteLine("NOTAS:"); Console.WriteLine($"{notas100} nota(s) de R$ 100.00"); Console.WriteLine($"{notas50} nota(s) de R$ 50.00"); Console.WriteLine($"{notas20} nota(s) de R$ 20.00"); Console.WriteLine($"{notas10} nota(s) de R$ 10.00"); Console.WriteLine($"{notas5} nota(s) de R$ 5.00"); Console.WriteLine($"{notas2} nota(s) de R$ 2.00"); Console.WriteLine("MOEDAS:"); Console.WriteLine($"{moeda1} moeda(s) de R$ 1.00"); Console.WriteLine($"{moeda50} moeda(s) de R$ 0.50"); Console.WriteLine($"{moeda25} moeda(s) de R$ 0.25"); Console.WriteLine($"{moeda10} moeda(s) de R$ 0.10"); Console.WriteLine($"{moeda05} moeda(s) de R$ 0.05"); Console.WriteLine($"{moeda01} moeda(s) de R$ 0.01"); }
Carolina Castilhos @carolinacastilhosLucas, obrigadaaaaaa! Que resposta maravilhosa! Eu tava penando muito, e tu respondeu até com os comentários explicando tudinho! Me ajudou muito a entender, obrigada mesmo :)
!
Em resposta agabi.mp⬆:Gabriel de Araújo Santos @gabrielSantoseu entendi o problema, é coisa besta. inves de escrever por exemplo " 100,00" escreve "100.00 "
Isso para todas as respostas
Gabriele Martins Pereira @gabi.mptambém to achando que é isso, vou tentar mudar alguma coisa pra ver se funciona!
- FEm resposta agabi.mp⬆:Fábio Teixeira @fabiotbraga
Eu consegui fazer, mas não utilizei if nem for para isso
- FFábio Teixeira @fabiotbraga
É bom checar se a resposta está 100% no formato que é pedido
Gabriele Martins Pereira @gabi.mpEu chequei e ta certinho, porém nao sei pq o beecrowd nao aceita.
- FFábio Teixeira @fabiotbraga
Vc está usando decimal ou double na entrada? Estou usando decimal.
- FFábio Teixeira @fabiotbraga
Eu li que para dinheiro, decimal é recomendado
Gabriele Martins Pereira @gabi.mpEstava usando o double mesmo, vou tentar com decimal.
Gabriel de Araújo Santos @gabrielSantosAcabei de submeter no Beecrowd, ele aceitou o meu. Eu fiz com "for", mas o que pega la é que ele quer exatamente do jeito que eles mostram no exercicio, cada ponto, cada espaço e virgula
(Eu tive que dar uma "roubadinha para o output ficar iguall o do beecrowd kkkk)esse é o meu codigo que eu submeti pra quem quiser olhar:
double value = double.Parse(Console.ReadLine());
double[] notas = { 100, 50, 20, 10, 5, 2, 1 }; double[] moedas = { 50, 25, 10, 5, 1 }; double quantidadeNotas = 0; double quantidadeMoedas = 0; double restanteNotas = Math.Truncate(value); double cents = (value - Math.Truncate(value)) * 100; Console.WriteLine($"NOTAS:"); for (int i = 0; i <= notas.Length - 1; i++) { if (i == notas.Length - 1) { Console.WriteLine($"MOEDAS:"); quantidadeNotas = Math.Floor(restanteNotas / notas[i]); restanteNotas = restanteNotas - quantidadeNotas * notas[i]; Console.WriteLine($"{quantidadeNotas} moeda(s) de R$ {notas[i]:F2}"); } else { quantidadeNotas = Math.Floor(restanteNotas / notas[i]); restanteNotas = restanteNotas - quantidadeNotas * notas[i]; Console.WriteLine($"{quantidadeNotas} nota(s) de R$ {notas[i]:F2}"); } } for (int i = 0; i <= moedas.Length - 1; i++) { quantidadeMoedas = Math.Floor(cents / moedas[i]); cents = cents - quantidadeMoedas * moedas[i]; Console.WriteLine($"{quantidadeMoedas} moeda(s) de R$ {moedas[i] / 100:F2}"); }- FFábio Teixeira @fabiotbraga
Interessante, Preferi não usar for ou if pois acho que seria demais nessas questões iniciais.
Se quiser, vc pode usar o (int) para trabalhar com os valores, pra não ficar roubando kkkk. Tipo: var cem = (int)x / 100;
Esse (int) na frente do x, passa os valores para int e não sai quebrada a divisão. Pode usar assim quando for de double para int - Em resposta agabrielSantos⬆:
Gabriele Martins Pereira @gabi.mpVou dar uma olhada direito na sua solução, mas muitoooo obrigada viu!
- Em resposta agabrielSantos⬆:GRibeiro Engenharia @GuilhermeAugusto
Bem interessante Gabriel a forma com que vc pensou e fez, uma alternativa bem estruturada
- AEm resposta agabi.mp⬆:Alexandre Lima @alexandre
Gabi, eu também estava travado neste código. Até que percebi que no debug do código submetido estava dando problemas de precisão:
Pelo que entendo, a saída do meu código é o que é precedido de ***, e o a solução o que possui ----. Note que pra R$11,14 no meu código ele estava retornando 15 centavos (o que não era pra acontecer). Já no da solution, ele estava retornando 16 centavos (o que também não era pra acontecer).
Foi aí que percebi que havia um problema de precisão, e substituí todos as variáveis do tipo double do meu código para o tipo decimal. Quando fiz isso, o código foi aceito.
Vou deixar meu código abaixo:
using System; class URI { static void Main(string[] args) { decimal value = decimal.Parse(Console.ReadLine()); decimal totalRest = value; int[] bankNotes = new int[]{ 100, 50, 20, 10, 5, 2 }; decimal[] bankCoins = new decimal[]{ 1.00M, 0.50M, 0.25M, 0.10M, 0.05M, 0.01M }; Console.WriteLine("NOTAS:"); foreach (int bankNote in bankNotes) { totalRest = ProccessNotes(totalRest, bankNote); } Console.WriteLine("MOEDAS:"); foreach (decimal bankCoin in bankCoins) { totalRest = ProccessCoins(totalRest, bankCoin); } } static decimal ProccessNotes(decimal decrease, decimal bankNote) { int amount = (int)(decrease / bankNote); Console.WriteLine($"{amount} nota(s) de R$ {bankNote:F2}"); decimal rest = decrease - (amount * bankNote); return rest; } static decimal ProccessCoins(decimal decrease, decimal bankCoin) { int amount = (int)(decrease / bankCoin); Console.WriteLine($"{amount} moeda(s) de R$ {bankCoin:F2}"); decimal rest = decrease - (amount * bankCoin); return rest; } }Espero que ajude.
Gabriele Martins Pereira @gabi.mpConsegui achar aqui essa descrição de erro. Também estava tentando com double, mas fiquei de tentar trocando pra decimal. Porém um dos erros que obtive foi esse:
Se puder me ajudar a interpretar ele... Acredito que nem a solução do beecrowd está aparecendo!
- AAlexandre Lima @alexandre
Realmente, não tá aparecendo a solução do beecrowd. Mas aparentemente, pra R$1,14 ele está recebendo 18 notas de R$100,00. '-'
No seu terminal está calculando certinho?
Gabriele Martins Pereira @gabi.mpRodou bonitinho
- Em resposta agabi.mp⬆:
Gabriel de Araújo Santos @gabrielSantosVoce pode mandar seu codigo gabi?
Gabriele Martins Pereira @gabi.mptentei trocar tudo pra decimal e agr cai em outro erro, dois min, vou tentar mais um pouco, ja já jogo aqui.
- Em resposta agabrielSantos⬆:
Gabriele Martins Pereira @gabi.mpAgr deu wrong answer (10%) sem mostrar aquela descrição de erro! Dor e sofrimento! kkkkkkkkk
Bom, meu código está assim:using System; class URI { static void Main(string[] args) { decimal valor=decimal.Parse(Console.ReadLine()); int nota100=0,nota50=0,nota20=0,nota10=0,nota5=0,nota2=0,moeda100=0,moeda50=0,moeda25=0,moeda10=0,moeda5=0,moeda1=0; for(int i=0; valor>0m; i++){ if(valor>=100.0m){ valor-=100.0m; nota100++; } else if(valor>=50.0m){ valor-=50.0m; nota50++; } else if(valor>=20.0m){ valor-=20.0m; nota20++; } else if(valor>=10.0m){ valor-=10.0m; nota10++; } else if(valor>=5.0m){ valor-=5.0m; nota5++; } else if(valor>=2.0m){ valor-=2.0m; nota2++; } else if(valor>=1.0m){ valor-=1.0m; moeda100++; } else if(valor>=0.50m){ valor-=0.50m; moeda50++; } else if(valor>=0.25m){ valor-=0.25m; moeda25++; } else if(valor>=0.10m){ valor-=0.10m; moeda10++; } else if(valor>=0.05m){ valor-=0.05m; moeda5++; } else if(valor>=0.01m){ valor-=0.01m; moeda1++; } else{ valor=0.0m; } } Console.WriteLine("NOTAS:"); Console.WriteLine("{0} nota(s) de R$ 100,00",nota100); Console.WriteLine("{0} nota(s) de R$ 50,00",nota50); Console.WriteLine("{0} nota(s) de R$ 20,00",nota20); Console.WriteLine("{0} nota(s) de R$ 10,00",nota10); Console.WriteLine("{0} nota(s) de R$ 5,00",nota5); Console.WriteLine("{0} nota(s) de R$ 2,00",nota2); Console.WriteLine("MOEDAS:"); Console.WriteLine("{0} moeda(s) de R$ 1,00",moeda100); Console.WriteLine("{0} moeda(s) de R$ 0,50",moeda50); Console.WriteLine("{0} moeda(s) de R$ 0,25",moeda25); Console.WriteLine("{0} moeda(s) de R$ 0,10",moeda10); Console.WriteLine("{0} moeda(s) de R$ 0,05",moeda5); Console.WriteLine("{0} moeda(s) de R$ 0,01",moeda1); } }
André Filipe @andresantos=> Você poderia substituir as declarações de notas por um array double (100, 50, ...)
=> Ao invés de usar todos esses ifs, seria melhor trocar a lógica, pois bastaria, no máximo 2 condicionais. A intenção do laço de repetição é eliminar repetições de código.
=> Há 14 impressões que poderiam ser substituídas por apenas 2: um Console.WriteLine para 'NOTAS' ou 'MOEDAS' e outro para cada respectiva quantidade.
=> A lógica a que me refiro seria essa: iterar sobre o array supracitado e, pra cada valor (notas ou moedas) obter a parte inteira e a decimal. Para a inteira, você poderia usar o 'Math.Truncate()' e para o resto você poderia usar o módulo (ex.: 10 % 3 = 1)
=> Fazendo isso, seu código não passará de 25 linhas.
Gabriele Martins Pereira @gabi.mpOpa, verdade! Da pra dar uma resumida! Muito obrigada viu!
- Em resposta agabi.mp⬆:AAlexandre Lima @alexandre
A descrição do debug não mostra na hora. Tem que esperar um tempinho. Uns 3~5 minutos.
- Em resposta agabi.mp⬆:JJeferson Kindrajh @Jefersonk
o meu deu o mesmo problema, o resto teria que dar 0,14, porém dá 0,139999999, por isso ele entende como apenas 3 moedas de 1 centavo
Em resposta agabi.mp⬆:Fernando Bruno S L @FernandoBrunoFiz de uma forma mais "arcaica" e deu certo no VS, porém 0% no Beecrowd :/ Considerei a forma que eu havia respondido a questão 1018 para fazer ela e deu certo. Mas queria entender pq no Bee nao dá...
// Bee 1021 - Notas e moedas using System; using System.Globalization; namespace Bee1021_Notas_e_Moedas { public class Program { public static void Main(string[] args) { /* - ler valor flutuante (valor monetario) * calcular o menor numero de notas e moedas possiveis * mostras a relacao de notas necessárias */ // variables double valorMonetario, notas, moedas; // input valorMonetario = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture); // code Console.WriteLine("NOTAS:"); notas = (int) (valorMonetario / 100); valorMonetario = valorMonetario % 100; Console.WriteLine($"{notas} nota(s) de R$ 100.00"); notas = (int) (valorMonetario / 50); valorMonetario = valorMonetario % 50; Console.WriteLine($"{notas} nota(s) de R$ 50.00"); notas = (int) (valorMonetario / 20); valorMonetario = valorMonetario % 20; Console.WriteLine($"{notas} nota(s) de R$ 20.00"); notas = (int) (valorMonetario / 10); valorMonetario = valorMonetario % 10; Console.WriteLine($"{notas} nota(s) de R$ 10.00"); notas = (int) (valorMonetario / 5); valorMonetario = valorMonetario % 5; Console.WriteLine($"{notas} nota(s) de R$ 5.00"); notas = (int) (valorMonetario / 2); valorMonetario = valorMonetario % 2; Console.WriteLine($"{notas} nota(s) de R$ 2.00"); Console.WriteLine("MOEDAS:"); moedas = (int) (valorMonetario / 1.00); valorMonetario = valorMonetario % 1.00; Console.WriteLine($"{moedas} moeda(s) de R$ 1.00"); moedas = (int) (valorMonetario / 0.50); valorMonetario = valorMonetario % 0.50; Console.WriteLine($"{moedas} moeda(s) de R$ 0.50"); moedas = (int) (valorMonetario / 0.25); valorMonetario = valorMonetario % 0.25; Console.WriteLine($"{moedas} moeda(s) de R$ 0.25"); moedas = (int) (valorMonetario / 0.10); valorMonetario = valorMonetario % 0.10; Console.WriteLine($"{moedas} moeda(s) de R$ 0.10"); moedas = (int) (valorMonetario / 0.05); valorMonetario = valorMonetario % 0.05; Console.WriteLine($"{moedas} moeda(s) de R$ 0.05"); moedas = (int) (valorMonetario / 0.01); valorMonetario = valorMonetario % 0.01; Console.WriteLine($"{moedas} moeda(s) de R$ 0.01"); } } }
Fernando Bruno S L @FernandoBrunoA saída no VS:


Fernando Bruno S L @FernandoBrunoAcho que foi o mesmo erro que a Gabi teve acima, mas não to conseguindo interpretar
André Filipe @andresantosObserve que a última moeda é a de R$0,01. Ela é indivisível! Assim, a divisão e módulo da divisão deve ser feitos apenas até a moeda de R$0,05.
Exercício 1021 #post-26
Em resposta agabi.mp⬆:Fernando Bruno S L @FernandoBrunoconsegui resolver!! quando divide por numeros de double, o resultado pode ser com varias casas decimais e nao arredondar, sobrando numero para outra divisao ne.
// ajustar valor para dividir por numero sem casas decimais e evitar erro no calculo
valorMonetario = valorMonetario * 100;fiz esse ajuste antes de comecar moedas, e multipliquei as moedas tbm por 100 para tirar as casas decimais, e deu bom!
Em resposta agabi.mp⬆:Pedro Lucas @pedrolucasGabriele, meu Beecrowd também tá retornando erro e eu fiz dessa forma:
using System; namespace NotasMoedas { class Program { static void Main(string[] args) { double valor = double.Parse(Console.ReadLine()); Console.WriteLine($"NOTAS:"); Console.WriteLine($"{Math.Truncate(valor / 100)} nota(s) de R$ 100.00"); valor = valor % 100; Console.WriteLine($"{Math.Truncate(valor / 50)} nota(s) de R$ 50.00"); valor = valor % 50; Console.WriteLine($"{Math.Truncate(valor / 20)} nota(s) de R$ 20.00"); valor = valor % 20; Console.WriteLine($"{Math.Truncate(valor / 10)} nota(s) de R$ 10.00"); valor = valor % 10; Console.WriteLine($"{Math.Truncate(valor / 5)} nota(s) de R$ 5.00"); valor = valor % 5; Console.WriteLine($"{Math.Truncate(valor / 2)} nota(s) de R$ 2.00"); valor = valor % 2; Console.WriteLine($"MOEDAS:"); Console.WriteLine($"{Math.Truncate(valor) / 1} moeda(s) de R$ 1.00"); valor = valor % 1; Console.WriteLine($"{Math.Truncate(valor / 0.50)} moeda(s) de R$ 0.50"); valor = valor % 0.50; Console.WriteLine($"{Math.Truncate(valor / 0.25)} moeda(s) de R$ 0.25"); valor = valor % 0.25; Console.WriteLine($"{Math.Truncate(valor / 0.10)} moeda(s) de R$ 0.10"); valor = valor % 0.10; Console.WriteLine($"{Math.Truncate(valor / 0.05)} moeda(s) de R$ 0.05"); valor = valor % 0.05; Console.WriteLine($"{Math.Truncate(valor / 0.01)} moeda(s) de R$ 0.01"); } } }Pelo visto, vou ter que fazer do mesmo jeito que o professor Hugo falou.
- G2Em resposta agabi.mp⬆:Gabriela M @gabrielam
Gente, sobre esse exercício, eu que sou da humanas e meus parcos conhecimentos de matemática se foram faz tempo rs...
Eu fiz de um jeito que o beecrowd aceitou, mas tô vendo as formas que as outras pessoas fizeram e tô achando que "burlei" o exercício? Tentei fazer de forma a "matematizar" o mínimo possível e não ficar trabalhando com decimais.Ficou assim:
using System; namespace BanknotesCoins { class Public { static void Main(string[] args) { string input = Console.ReadLine(); string[] N = input.Split('.'); int N1 = int.Parse(N[0]); int N2 = int.Parse(N[1]); int cem = N1 / 100; int resto1 = N1 % 100; int cinquenta = resto1 / 50; int resto2 = resto1 % 50; int vinte = resto2 / 20; int resto3 = resto2 % 20; int dez = resto3 / 10; int resto4 = resto3 % 10; int cinco = resto4 / 5; int resto5 = resto4 % 5; int dois = resto5 / 2; int resto6 = resto5 % 2; int mcem = resto6 % 2; int mcinquenta = N2 / 50; int mresto2 = N2 % 50; int mvintecinco = mresto2 / 25; int mresto3 = mresto2 % 25; int mdez = mresto3 / 10; int mresto4 = mresto3 % 10; int mcinco = mresto4 / 5; int mresto5 = mresto4 % 5; int mum = mresto5 % 5; Console.WriteLine("NOTAS:"); Console.WriteLine($"{cem} nota(s) de R$ 100.00"); Console.WriteLine($"{cinquenta} nota(s) de R$ 50.00"); Console.WriteLine($"{vinte} nota(s) de R$ 20.00"); Console.WriteLine($"{dez} nota(s) de R$ 10.00"); Console.WriteLine($"{cinco} nota(s) de R$ 5.00"); Console.WriteLine($"{dois} nota(s) de R$ 2.00"); Console.WriteLine("MOEDAS:"); Console.WriteLine($"{mcem} moeda(s) de R$ 1.00"); Console.WriteLine($"{mcinquenta} moeda(s) de R$ 0.50"); Console.WriteLine($"{mvintecinco} moeda(s) de R$ 0.25"); Console.WriteLine($"{mdez} moeda(s) de R$ 0.10"); Console.WriteLine($"{mcinco} moeda(s) de R$ 0.05"); Console.WriteLine($"{mum} moeda(s) de R$ 0.01"); } } }Quais possíveis problemas/limitações eu teria "na vida real" em ter resolvido dessa forma?
- JEm resposta agabi.mp⬆:Jonathan Assunção @jhow88
var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var lines = input.split('\n');let valor = parseFloat(lines.shift()).toFixed(2);
console.log('NOTAS:');
console.log(${Math.floor(valor/100).toFixed(0)} nota(s) de R$ 100.00);
valor %= 100;
console.log(${Math.floor(valor/50).toFixed(0)} nota(s) de R$ 50.00);
valor %= 50;
console.log(${Math.floor(valor/20).toFixed(0)} nota(s) de R$ 20.00);
valor %= 20;
console.log(${Math.floor(valor/10).toFixed(0)} nota(s) de R$ 10.00);
valor %= 10;
console.log(${Math.floor(valor/5).toFixed(0)} nota(s) de R$ 5.00);
valor %= 5;
console.log(${Math.floor(valor/2).toFixed(0)} nota(s) de R$ 2.00);
valor %= 2;console.log('MOEDAS:');
console.log(${Math.floor(valor/1).toFixed(0)} moeda(s) de R$ 1.00);
valor %= 1.00;
console.log(${Math.floor(valor/0.50).toFixed(0)} moeda(s) de R$ 0.50);
valor %= 0.50;
console.log(${Math.floor(valor/0.25).toFixed(0)} moeda(s) de R$ 0.25);
valor %= 0.25;
console.log(${Math.floor(valor/0.10).toFixed(0)} moeda(s) de R$ 0.10);
valor %= 0.10;
console.log(${Math.floor(valor/0.05).toFixed(0)} moeda(s) de R$ 0.05);
valor %= 0.05;
console.log(${Math.floor(Math.round(valor/0.01)).toFixed(0)} moeda(s) de R$ 0.01);
valor %= 0.01;Foi aceito no beecrowd dessa forma também em javascript
