Uri, socorro , vale nota leia um valor inteiro em linguagem c. a seguir, calcule o menor número de notas

Uri, socorro , vale nota

leia um valor inteiro em linguagem c. 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 < 1). saída imprima o valor lido e, em seguida, a quantidade mínima de notas de cada tipo necessárias, conforme o exemplo fornecido. não esqueça de imprimir o fim de linha após cada linha, caso contrário seu programa apresentará a mensagem: “presentation error”.

1 Resposta

  • Superlucas

    Faz um loop verificando se a condição (valor_de_entrada - valor_da_cedula >= 0) testando o valor das cédulas do maior pro menor.

    Pra cada teste em que a condição for verdadeira, subtraia o valor da cédula do valor de entrada e adicione +1 na conta de cédulas necessárias.

    Pra cada teste em que a condição for falsa, repita o teste com o menor valor mais próximo e por aí vai.

    Aqui tem um código:

    #include
    #include
    #include
    #include

    using namespace std;

    int main()
    {
        vector ced = {100, 50, 20, 10, 5, 2, 1};
        long cedCount[] = {0, 0, 0, 0, 0, 0, 0};
       
        long entrada;
       
        string entradaS;
        getline (cin, entradaS);
       
        stringstream ss(entradaS);
        ss >> entrada;  
       
        int type = 0; //0 é a de 100, 1 é a de 50, 2 é a de 20...
       
        for (long i = entrada; i > 0;)
        {
            if (i - ced[type] >= 0)
            {
                i -= ced[type];
                cedCount[type]++;           
            }
           
            else
            {
                type++;
            }
        }
       
        cout << "Valor de entrada: " << entrada << endl << endl;
        cout << "Notas de 100: " << cedCount[0] << endl;
        cout << "Notas de 50: " << cedCount[1] << endl;
        cout << "Notas de 20: " << cedCount[2] << endl;
        cout << "Notas de 10: " << cedCount[3] << endl;
        cout << "Notas de 5: " << cedCount[4] << endl;
        cout << "Notas de 2: " << cedCount[5] << endl;
        cout << "Notas de 1: " << cedCount[6] << endl;  
       
    }

Clique aqui para adicionar a sua resposta.