Ir ao conteúdo
  • Cadastre-se

Guilherme Vasconcellos

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Faz um tempinho que postaram a dúvida, mas fica pra posteridade kkkk, tenho um exemplo em c# pra sacar esses valores, se adicionar uma nota de 3, a regra de pegar o menor número de notas possível passa a não funcionar muito bem, mas é ajustável =/ using System; using System.Collections.Generic; class MainClass { public static void Main (string[] args) { while (true) { Console.WriteLine("Insira a quantia desejada:"); var amount = int.Parse(Console.ReadLine()); var notes = new int[7] { 200, 100, 50, 20, 10, 5, 2 }; var wallet = new Dictionary<int, int> { { 200, 0 }, { 100, 0 }, { 50, 0 }, { 20, 0 }, { 10, 0 }, { 5, 0 }, { 2, 0 } }; foreach (var note in notes) { if (note > amount) { continue; } var diff = amount - note; var rest = amount % note; var restIsOneOrTree = rest == 1 || rest == 3; var amountIsEven = amount % 2 == 0; var noteIsEven = note % 2 == 0; if (!amountIsEven && noteIsEven) { if (restIsOneOrTree && diff < 10) { continue; } } if (amountIsEven && !noteIsEven) { continue; } if (restIsOneOrTree) { amount -= note; wallet[note]++; continue; } int numberOfNotes = amount / note; amount -= numberOfNotes * note; wallet[note] += numberOfNotes; } foreach(var entry in wallet) { if (entry.Value > 0) { Console.WriteLine($"{entry.Value} notes of {entry.Key}"); } } } } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!