A ideia deste problema é ir utilizando divisões e restos de divisão para ir dividindo o número recebido em pedaços adequados de acordo com o enunciado, mais ou menos como faríamos se fôssemos resolver esse problema na vida real.
Por exemplo, com o número 576, seguimos o seguinte raciocínio:
R$ 576,00 precisa de 5 notas de R$ 100,00 porque 576/100 = 5 (divisão inteira).
Beleza, representamos 500, então agora sobra 76.
R$ 76,00 precisa de 1 nota de R$ 50,00 porque 76/50 = 1.
OK, agora temos 26.
R$ 26,00 precisa de 1 nota de R$ 20,00 porque 26/20 = 1.
Temos 6.
R$ 6,00 precisa de 0 nota de R$ 10,00 porque 6/10 = 0.
Continuamos com 6.
R$ 6,00 precisa de 1 nota de R$ 5,00 porque 6/5 = 1.
Agora só sobrou 1.
R$ 1,00 precisa de 0 nota de R$ 2,00 porque 1/2 = 0.
Continua sobrando 1.
Agora o que sobrou é o que dá para representar com 1 nota de R$ 1,00.
Dessa maneira, nossa resposta final são 5 notas de R$ 100,00, 1 nota de R$ 50,00, 1 de R$ 20,00, 1 de R$ 5,00 e 1 de R$ 1,00. Experimente com outros valores de N e veja que pegar as divisões inteiras e seus respectivos restos forma um raciocínio interessante para a resolução deste e dos próximos problemas subsequentes.
#include<stdio.h>intmain(){int N;scanf("%d",&N);printf("%d\n", N);printf("%d nota(s) de R$ 100,00\n", N/100); N %=100;printf("%d nota(s) de R$ 50,00\n", N/50); N %=50;printf("%d nota(s) de R$ 20,00\n", N/20); N %=20;printf("%d nota(s) de R$ 10,00\n", N/10); N %=10;printf("%d nota(s) de R$ 5,00\n", N/5); N %=5;printf("%d nota(s) de R$ 2,00\n", N/2); N %=2;printf("%d nota(s) de R$ 1,00\n", N);return0;}
#include<iostream>usingnamespace std;intmain(){int N; cin >> N; cout << N << endl; cout << N/100<<" nota(s) de R$ 100,00"<< endl; N %=100; cout << N/50<<" nota(s) de R$ 50,00"<< endl; N %=50; cout << N/20<<" nota(s) de R$ 20,00"<< endl; N %=20; cout << N/10<<" nota(s) de R$ 10,00"<< endl; N %=10; cout << N/5<<" nota(s) de R$ 5,00"<< endl; N %=5; cout << N/2<<" nota(s) de R$ 2,00"<< endl; N %=2; cout << N <<" nota(s) de R$ 1,00"<< endl;return0;}
let input =require("fs").readFileSync("/dev/stdin","utf8");let lines =input.split("\n");letN=parseInt(lines.shift());console.log(N);console.log(`${Math.floor(N/100)} nota(s) de R$ 100,00`);N%=100;console.log(`${Math.floor(N/50)} nota(s) de R$ 50,00`);N%=50;console.log(`${Math.floor(N/20)} nota(s) de R$ 20,00`);N%=20;console.log(`${Math.floor(N/10)} nota(s) de R$ 10,00`);N%=10;console.log(`${Math.floor(N/5)} nota(s) de R$ 5,00`);N%=5;console.log(`${Math.floor(N/2)} nota(s) de R$ 2,00`);N%=2;console.log(`${N} nota(s) de R$ 1,00`);
N =int(input())print(N)print(f"{N//100} nota(s) de R$ 100,00")N %=100print(f"{N//50} nota(s) de R$ 50,00")N %=50print(f"{N//20} nota(s) de R$ 20,00")N %=20print(f"{N//10} nota(s) de R$ 10,00")N %=10print(f"{N//5} nota(s) de R$ 5,00")N %=5print(f"{N//2} nota(s) de R$ 2,00")N %=2print(f"{N} nota(s) de R$ 1,00")