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

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

Открыта

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

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

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

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

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

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

Большая задача: Пишем ПО банкомата - 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)
Комментарии (69)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
И. Ж.
Уровень 41
18 марта 2024, 21:17
И еще в задаче баг оказался от автора. В логине именно. По логике принятого решения, так же как и в готовом, если вводить номер карты правильный который есть в файле, а потом ввести абсолютно любой 4 х значный пин код , то верификация успешна! Поэтому в проверке на наличие ключа в файле и сравнение значения ключа с введенным пин кодом, надо не && как в авторском решении, а || ставить. Сам при этом тоже изначально && поставил, уже после всех задач заметилось, когда "красоту" наводил.
И. Ж.
Уровень 41
14 марта 2024, 19:26
Жадный алгоритм работает только в случае когда номиналы купюр такие, что при делении большей купюры на меньшую всегда получается целое число, то есть скажем 1000, 500, 100... Когда же допустим купюры 500 и 200, уже нет. К примеру в банкомате есть купюры 5×500 и 3×200 и надо выдать 600 рублей. Он сначала согласно жадному алгоритму изымет одну 500-ку, а 200-ки соответственно уже не подпадают и таким образом деньги не выдаст, вместо того чтобы дать 3х200. Уже другой алгоритм надо. Но валидатор такое хочет и ладно..
PhanSca
Уровень 48
22 мая 2023, 05:50
Отличная задача, если бы не косяк с жадным алгоритмом. Имхо, таких ошибок в обучении допускать нельзя. Это же чуть ли не классический пример, на котором показывают, что тут жадный алгоритм НЕ РАБОТАЕТ.
On1k
Уровень 2
11 декабря 2022, 20:51
Перевел эту задачу на спринг бут. Загружается как стартер при запуске приложения. Получилось интересно, хочу добавить базу данных, чтобы хранить информацию о счетах, а то тут получается счет один на все карты.
Рогов Игорь
Уровень 17
13 июня 2022, 08:11
опять все мои комментарии и пометки на 11 задаче сбросились......
Afanasii
Уровень 51
14 августа 2023, 18:47
:D
Александр
Уровень 4
5 декабря 2021, 08:21
Отличная задача. Получил кучу удовольствия, решая. А тема с просто жадным и жадным, но умным алгоритмом настолько зацепила, что пошел изучать динамическое программирование и пока не напишу умного не успокоюсь))
Ars
Уровень 41
4 декабря 2021, 12:46
Инфа по последней задаче: Среднее количество попыток для этой задачи 1.8. Всего эту задачу решили 2733 учеников. Спокойно решил задачу. Валидатор в принципе нормальный. Даже удивительно.
Sega
Уровень 51
22 сентября 2022, 16:07
3062
Flexo Bending Unit #3370318
24 мая 2021, 19:45
С удовольствием прорешал всю задачу, но так и не понял, зачем метод getValidTwoDigits принимает в аргументы currencyCode также помимо: - допилил функционал exit, не зря же мы спрашиваем у пользователя, действительно ли он хочет выйти - исправил баг, когда вводишь на выдаче ещё несуществующую валюту, в дефолтной версии остаётся только выйти см поправки подробно в комментариях к 15 главе что ещё хочется доделать: -реализовать рабочий (а не жадный) алгоритм сдачи, именно для минимального кол-ва купюр ну, как-нибудь потом
SerB
Уровень 41
14 июля 2021, 03:42
currencyCode нужен в конце задачи, его в выводимое сообщение подставить можно
Александр
Уровень 4
4 декабря 2021, 17:04
-реализовать рабочий (а не жадный) алгоритм сдачи, именно для минимального кол-ва купюр Да, меня тоже зацепила эта задачка. Надо будет обязательно заняться на досуге. ))
LokiLaufeyson
Уровень 41
29 апреля 2021, 19:02
Исправьте, пожалуйста: в 7-м номере зачем делать static метод final, если статические методы и так нельзя переопределять
26 марта 2021, 10:58
CashMachine (10) - очень тяжелая задача нужно тренировать алгоритмы
Flexo Bending Unit #3370318
24 мая 2021, 19:34
тяжёлая, если пытаться реализовать её согласно противоречивому условию) жадный алгоритм не может являться оптимальным для рандомных номиналов та реализация алгоритма, что может приниматься, она даже не всегда выдаёт сумму, даже если это в принципе возможно. такие дела 😕