Назва смішна, все для вас, бо завдання алгоритмів ніколи не буває достатньо! З нагоди Товстого четверга ловіть тематичні żądanką для рішення, як правило, на Python (або будь-якій іншій мові програмування ).
Розумові зусилля спалюють калорії, навіть після всього ви можете щедро нагородити жирною пампушкою!
Пончик, кава та код … Python рекомендує кожен день! (Team work)😉
Завдання 1 – теорія
Ви хочете з’їсти якомога більше пончиків у «Жирний четвер. На жаль, попередній досвід говорить вам, що півкілограма бруньок – це максимальний об’єм вашого шлунка, тому у вас немає шансів з’їсти будь-який смак. Ваша мета – їсти як багато калорій (спочатку вага, потім скульптура 😉), тому перед тим, як вибрати ароматизатори, проаналізуйте їхню вагу та теплотворну здатність, щоб з’їсти.
На столі ви чекаєте пончики різними способами:
- Бутон вишні бл. 100 г (252 ккал)
- підходить гречана брунька з чорносливом ОК. 200 гр (205 ккал)
- пончики з шоколадом “ОК”. 150 г (315 ккал)
- бутон з кармелово-горіхом “ОК”. 100 г (441 ккал)
- пончик орео прибл. 150 (630 ккал)
- міні-пампушки з пудингом 50г (126ккал)
Для зручності пончики нумеруються від 0 до 5 і ретельно зберігаються в таблиці
№ посилки (i) | 0 | 1 | 2 | 3 | 4 | 5 |
вага посилки (wi) | 100 | 200 | 150 | 100 | 150 | 50 |
значення ккал (vi) | 252 | 205 | 315 | 441 | 630 | 126 |
Яку пампушку потрібно їсти, щоб теплотворна здатність була великою?
Щоб вирішити проблему на папері, створивши масив задачі.
(підказка: використовуйте динамічне програмування)
Завдання 2 – python: динамічне програмування, проблема plecakowy
Не буде насправді того року підраховувати калорії на робочому аркуші! Тільки це питання збережіть як прийняття рішення іншої нульової єдинкової проблеми plecakowy (0-1 Knapsack Problem). Створіть програму, що реалізує алгоритм динамічного програмування (необов’язково: жадібний алгоритм).
- Дозволити користувачеві ввести унікальну ємність шлунка (b) та елементи пампушок (вага та енергетична цінність) з клавіатури.
- Дозволити користувачеві завантажувати дані з файлу. Формат потрібно визначити та пояснити на початку.
- Програма повинна бути стійкою до серйозних помилок (наприклад, читання даних про неприємний смак, наприклад, калорій, поданих у вигляді рядка).
Перевірте свою програму вручну, або ви можете написати генератор пончиків.
Для тих, хто бажає, порівняння алгоритму за часом є динамічним (порівняйте лише ефективність алгоритмів для зчитування даних або відображення даних).
Той факт, що ти тут робиш, чого ти хочеш, чи не так?
Автор ілюстрацій – Беррі Вельбакка (artneko.pl)
пітон змія любить пончики❤