/
Rka
/
BankTask
Обзор
Документация
Войти
/
Rka
/
BankTask
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
scriptGPT.js
41 строка
1 KB
ws08
task
15 фев 2025, 04:58
15 фев 2025, 04:58
ac750b0
Код
Авторство
О чём код?
function atm(amount) { // Номиналы купюр, отсортированные по убыванию const denominations = [5000, 1000, 500, 100, 20]; // Объект для хранения количества купюр каждого номинала const result = { 5000: 0, 1000: 0, 500: 0, 100: 0, 20: 0, }; // Проверка на отрицательную сумму или сумму, которая не может быть выдана if (amount < 0 || amount % denominations[denominations.length - 1] !== 0) { return "bad request"; } // Проходим по каждому номиналу for (let i = 0; i < denominations.length; i++) { const denomination = denominations[i]; // Вычисляем количество купюр текущего номинала const count = Math.floor(amount / denomination); if (count > 0) { result[denomination] = count; amount -= count * denomination; } } // Если сумма не была полностью выдана, возвращаем "bad request" if (amount !== 0) { return "bad request"; } return result; } // Пример использования: console.log(atm(5000)); // { 5000: 1, 1000: 0, 500: 0, 100: 0, 20: 0 } console.log(atm(1230)); // "bad request" console.log(atm(2020)); // { 5000: 0, 1000: 2, 500: 0, 100: 0, 20: 1 }