Попытка написать программу, которая возвращает точное изменение монет, которые используют монеты: [1, 0,50, 0,20, 0,10, 0,05, 0,02, 0,01].Я пытаюсь сделать это, используя только условные выражения.Моя проблема в том, что последнее выражение «IF» не работает так, как я хочу, и я не понимаю, что не так.
Например, для текущего числа результат должен быть [1 x 0,20 и 2х 0,02].вместо этого он возвращает меня [1 x 0,20 и 1 x 0,02 и 1 x 0,01]
var price = 0.76;
var paid = 1;
var a = paid - price;
var oneLeva = 0;
var fiftyCents = 0;
var twentyCents = 0;
var tenCents = 0;
var fiveCents = 0;
var twoCents = 0;
var oneCents = 0;
if((a - 1) >= 0){
oneLeva += 1;
a -= 1;
if((a - 1) >= 0){
oneLeva += 1;
a -= 1;
if((a - 1) >= 0){
oneLeva += 1;
a -= 1;
if((a - 1) >= 0){
oneLeva += 1;
a -= 1;
}
}
}
}
if((a - 0.50) >= 0){
fiftyCents += 1;
a -= 0.50;
}
if((a - 0.20) >= 0){
twentyCents += 1;
a -= 0.20;
if((a - 0.20) >= 0){
twentyCents += 1;
a -= 0.20;
}
}
if((a - 0.10) >= 0){
tenCents += 1;
a -= 0.10;
}
if((a - 0.05) >= 0){
fiveCents += 1;
a -= 0.05;
}
if((a - 0.02) >= 0){
twoCents += 1;
a -= 0.02;
if((a - 0.02) >= 0){
twoCents += 1;
a -= 0.02;
}
}
if((a - 0.01) > 0){
oneCents += 1;
a -= 0.01;
}
console.log(oneLeva);
console.log(fiftyCents);
console.log(twentyCents);
console.log(tenCents);
console.log(fiveCents);
console.log(twoCents);
console.log(oneCents);