JavaRush /Курсы /Java Collections /Большая задача: Пишем ПО банкомата

Большая задача: Пишем ПО банкомата

Java Collections
9 уровень , 15 лекция
Открыта

— Привет, Амиго!

— Здравия желаю, капитан Бобров.

— Хорошо учишься. Молодец, боец!

У тебя сегодня новая секретная миссия — осваивать финансы.

— Ура!!! Я уже придумал, на что я их потрачу!!!

— Так, не расслабляться! Осваивать финансы – это писать новую секретную
программу «Банкомат».

Большая задача: Пишем ПО банкомата - 1

Отправляйся к нашему секретному агенту Intellij IDEA, там получишь все инструкции.

— Будет сделано, товарищ капитан!

10
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (1)
CashMachine (1)
10
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (2)
CashMachine (2)
20
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (3)
CashMachine (3)
40
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (4)
CashMachine (4)
20
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (5)
CashMachine (5)
20
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (6)
CashMachine (6)
20
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (7)
CashMachine (7)
40
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (8)
CashMachine (8)
40
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (9)
CashMachine (9)
40
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (10)
CashMachine (10)
40
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (11)
CashMachine (11)
40
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (12)
CashMachine (12)
40
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (13)
CashMachine (13)
40
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (14)
CashMachine (14)
10
Задача
Java Collections, 9 уровень, 15 лекция
Недоступна
CashMachine (15)
CashMachine (15)
Комментарии (70)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
И. Ж. Уровень 41
18 марта 2024
И еще в задаче баг оказался от автора. В логине именно. По логике принятого решения, так же как и в готовом, если вводить номер карты правильный который есть в файле, а потом ввести абсолютно любой 4 х значный пин код , то верификация успешна! Поэтому в проверке на наличие ключа в файле и сравнение значения ключа с введенным пин кодом, надо не && как в авторском решении, а || ставить. Сам при этом тоже изначально && поставил, уже после всех задач заметилось, когда "красоту" наводил.
И. Ж. Уровень 41
14 марта 2024
Жадный алгоритм работает только в случае когда номиналы купюр такие, что при делении большей купюры на меньшую всегда получается целое число, то есть скажем 1000, 500, 100... Когда же допустим купюры 500 и 200, уже нет. К примеру в банкомате есть купюры 5×500 и 3×200 и надо выдать 600 рублей. Он сначала согласно жадному алгоритму изымет одну 500-ку, а 200-ки соответственно уже не подпадают и таким образом деньги не выдаст, вместо того чтобы дать 3х200. Уже другой алгоритм надо. Но валидатор такое хочет и ладно..
PhanSca Уровень 48
22 мая 2023
Отличная задача, если бы не косяк с жадным алгоритмом. Имхо, таких ошибок в обучении допускать нельзя. Это же чуть ли не классический пример, на котором показывают, что тут жадный алгоритм НЕ РАБОТАЕТ.
On1k Уровень 2
11 декабря 2022
Перевел эту задачу на спринг бут. Загружается как стартер при запуске приложения. Получилось интересно, хочу добавить базу данных, чтобы хранить информацию о счетах, а то тут получается счет один на все карты.
Рогов Игорь Уровень 17
13 июня 2022
опять все мои комментарии и пометки на 11 задаче сбросились......
Afanasii Уровень 51
14 августа 2023
:D
Александр Уровень 4
5 декабря 2021
Отличная задача. Получил кучу удовольствия, решая. А тема с просто жадным и жадным, но умным алгоритмом настолько зацепила, что пошел изучать динамическое программирование и пока не напишу умного не успокоюсь))
Ars Уровень 41
4 декабря 2021
Инфа по последней задаче: Среднее количество попыток для этой задачи 1.8. Всего эту задачу решили 2733 учеников. Спокойно решил задачу. Валидатор в принципе нормальный. Даже удивительно.
Sega Уровень 51
22 сентября 2022
3062
Flexo Уровень 41
24 мая 2021
С удовольствием прорешал всю задачу, но так и не понял, зачем метод getValidTwoDigits принимает в аргументы currencyCode также помимо: - допилил функционал exit, не зря же мы спрашиваем у пользователя, действительно ли он хочет выйти - исправил баг, когда вводишь на выдаче ещё несуществующую валюту, в дефолтной версии остаётся только выйти см поправки подробно в комментариях к 15 главе что ещё хочется доделать: -реализовать рабочий (а не жадный) алгоритм сдачи, именно для минимального кол-ва купюр ну, как-нибудь потом
SerB Уровень 41
14 июля 2021
currencyCode нужен в конце задачи, его в выводимое сообщение подставить можно
Александр Уровень 4
4 декабря 2021
-реализовать рабочий (а не жадный) алгоритм сдачи, именно для минимального кол-ва купюр Да, меня тоже зацепила эта задачка. Надо будет обязательно заняться на досуге. ))
LokiLaufeyson Уровень 41
29 апреля 2021
Исправьте, пожалуйста: в 7-м номере зачем делать static метод final, если статические методы и так нельзя переопределять
26 марта 2021
CashMachine (10) - очень тяжелая задача нужно тренировать алгоритмы
Flexo Уровень 41
24 мая 2021
тяжёлая, если пытаться реализовать её согласно противоречивому условию) жадный алгоритм не может являться оптимальным для рандомных номиналов та реализация алгоритма, что может приниматься, она даже не всегда выдаёт сумму, даже если это в принципе возможно. такие дела 😕