Lógica de programação

Gostaria que alguém pudesse me ajudar nessa questão.

Fazer um algoritmo em javascript :
Escreva um programa que calcule a menor quantidade de moedas de troco para uma quantidade de centavos digitada pelo usuário e poderá ser no minimo 1 centavo, no máximo 99 centavos. SEU PRORGRAMA DE VE USAR AS MOEDAS DE 50,25,10,5 E 1 CENTAVOS.
(ex: Se o usuário digitar 56 centavos, seu prorgrama deve ser capaz de calcular que isso dá 1 moeda de 50, 1 moeda de 5 e uma moeda de 1 centavo).

1 curtida

Faz por módulo %%

Eu resolvi um problema parecido, semanas atrás, como parte de um processo seletivo em java.
Basicamente, você precisa pensar em divisões:
se você precisar dar um troco de 91 centavos, precisa:
1 - moeda de 50
1 - moeda de 25
1 - moeda de 10
1 - moeda de 5
1 - moeda de 1
Como assim?
Divida 91 por 50 e você terá 1 e o resto será 41
Divida 41 por 25 e você terá 1 e o resto será 16
Divida 16 por 10 e você terá 1 e o resto será 6
Divida 6 por 5 e você terá 1 e o resto será 1
Divida 1 por 1 e você terá 1 e o resto será zero.

Assim sendo, você precisa se basear em dividir, sequencialmente o valor ou o resto da operação pelo próximo maior valor, até que o resto seja zero.

Obrigado pela dica,já tentei fazer mas, não deu certo, quando digito 50 centavos de troco me retorna o valor em vez da quantidade de moedas veja o código: e as moedas de um centavo ta retornando um centavo a menos…
Alguém pode me ajudar.

  `identar texto pre-formatado em 4 espaços`

Que diabos é isso?

Provavelmente você fez algo errado na implementação.