Я пытаюсь создать алгоритм ATM. Логика заключается в следующем Есть 3 Наименования 100,500,1000
Создать ATM-алгоритм
Когда сумма 100 выход Print 1 100 Note
Когда сумма 500 выход Print 5 100 Note
Когда сумма 1000 выход Print 1 500 Note
и Print 5 100 Note
Так Когда сумма 4500 вывод должен быть
3 1000 Note
2 500 Note
5 100 Note
Мой алгоритм выглядит следующим образом
int _remainingamt = _inputAmt/1000;
if (_remainingamt > 1)
{
_inputAmt = _inputAmt - (_remainingamt-1) * 1000;
Console.WriteLine("Print {0} 1000 Notes", _remainingamt - 1);
}
else
{
_inputAmt = _inputAmt - _remainingamt * 1000;
Console.WriteLine("Print {0} 1000 Notes", _remainingamt);
}
_remainingamt = _inputAmt/500;
if (_remainingamt > 1)
{
_inputAmt = _inputAmt - (_remainingamt - 1) * 500;
Console.WriteLine("Print {0} 500 Notes", _remainingamt - 1);
}
else
{
_inputAmt = _inputAmt - _remainingamt * 500;
Console.WriteLine("Print {0} 500 Notes", _remainingamt);
}
_remainingamt = _inputAmt/100;
_inputAmt = _inputAmt - _remainingamt*100;
if (_remainingamt!=0)
{
Console.WriteLine("Print {0} 100 Notes", _remainingamt);
}
Логика здесь первый 500
суммы должны быть 100 Notes
или Notes
Следующая 500 (если оставаясь в сумме) должна быть 500 Note
или Notes
На следующий 1000 (если оставшийся в сумме) должна быть 1000 Note
или Notes
, но я по-прежнему сталкиваются с проблемами, с определенными суммами.
Может кто-нибудь помочь, пожалуйста
Спасибо Все
на 1000, почему вы Wouldnt печать '2 500 примечание '? – paqogomez
'>' должно быть '> =' возможно? Это может быть хорошим кандидатом для тега «code-trolling» на codegolf.stackoverflow.com – AShelly
@paqogomez По той же причине он печатает 5 '100 нот', когда количество 500 угадывает. – itsme86