Банкомат
У банкомату заряджені купюри номіналом 5 грн, 20 грн, 500 грн. Банкомат видає на замовлення клієнта суму, кратну 5 грн, застосовуючи найменшу кількість купюр.
1. Створіть програму,яка визначатиме, скільки купюр кожного номіналу має видати банкомат на замовлення клієнта.
Вхідні дані
Значення N (сума в гривнах, замовлена клієнтом) - натуральне число, що не перевищує 1000000.
Вихідні дані
Значення K5, K20, K500 (кількість купюр номіналом 5 грн, 20 грн, 500 грн, відповідно) - цілі числа, виводяться на екран.
Якщо значення N не кратна 5, то вивести нульові значення K5, K20, K500.
2. Заповніть тестову таблицю за результатами роботи програми:
Номер тесту |
N | K5 | K20 | K500 |
1 | 5 | |||
2 | 13 | |||
3 | 15 | |||
4 | 20 | |||
5 | 200 | |||
6 | 225 | |||
7 | 500 | |||
8 | 5125 | |||
9 | 5000 | |||
10 | 500025 |
Аналіз розв'язку задачі «Банкомат»
Розв'язок задачі ґрунтується на застосуванні операцій ділення цілих чисел (div) і визначення залишку від ділення (mod):
K500 = Y1 div 500;
Y1=Y1 mod 500;
K20 = Y1 div 20;
Y1 = Y1 mod 20;
K5 = Y1 div 5;
K20 = 0;
K5 = 0;
Тестова таблиця з результатами роботи програми:
Номер тесту |
N | K5 | K20 | K500 |
1 | 5 | 1 | 0 | 0 |
2 | 13 | 0 | 0 | 0 |
3 | 15 | 3 | 0 | 0 |
4 | 20 | 0 | 1 | 0 |
5 | 200 | 0 | 10 | 0 |
6 | 225 | 1 | 11 | 0 |
7 | 500 | 0 | 0 | 1 |
8 | 5125 | 1 | 6 | 10 |
9 | 5000 | 0 | 0 | 10 |
10 | 500025 | 1 | 1 | 1000 |
Журі оцінило надіслані розв'язки наступним чином:
№ | Учасник | Кількість балів |
1 | Миха Божко | 4 |
2 | Sergey Shablenko | 4 |
3 | Ивахненко Олег | 4 |
4 | Юрий Дончик | 4 |
5 | Vitas Vitas | 3 (немає тестової таблиці) |
6 | Сергій Сальніков | 4 |
7 | RomaN | 4 |