Problema: 1021
Enunciado:
Leia um valor de ponto flutuante com duas casas decimais. Este valor representa um valor monetário. A seguir, calcule o menor número de notas e moedas possíveis no qual o valor pode ser decomposto. As notas consideradas são de 100, 50, 20, 10, 5, 2. As moedas possíveis são de 1, 0.50, 0.25, 0.10, 0.05 e 0.01. A seguir mostre a relação de notas necessárias.
Linguagem: C++
Solução:
#include <iostream> #include <iomanip> using namespace std; int main() { double n, moedas[6] = {1, .5, .25, .1, .05, .01}; int notas, moeda, cedulas[6] = {100, 50, 20, 10, 5, 2}; cin >> n; cout << "NOTAS:" << endl; int contador = 0; while (contador < 6) { notas = (int) n / cedulas[contador]; n -= notas * cedulas[contador]; cout << notas << " nota(s) de R$ " << cedulas[contador++] <<".00" << endl; } cout << "MOEDAS:" << endl; contador = 0; while (contador < 5) { moeda = (int) (n / moedas[contador]); n -= (double) moeda * moedas[contador]; cout << fixed << setprecision(2) << moeda << " moeda(s) de R$ " << moedas[contador++] << endl; } cout << setprecision(0) << n * 100 << " moeda(s) de R$ 0.01" << endl; return 0; }
Nenhum comentário:
Postar um comentário