Особисто мені дуже подобаються задачі з кількома розв’язками. Вони навчають споглядати світ навколо з різних сторін.
Одну з таких задач і пропоную вашій увазі.
Я побачив одне рішення, моя учениця Анастасія – ще одне. А, можливо, їх ще більше – аргументованих рішень?
Спробуйте спочатку самостійно знайти кілька рішень, а лише потім переглянути вже знайдені, натиснувши "Детальніше"
На гуртку i7, граємося математикою:
— Назвіть найбільший спільний дільник чисел 12 і 18?
— Шість.
— Добре, напишіть код що це визначить.
— print(math.gcd(12,18))
— Добре, назвіть найменше спільне кратне цих 12 і 18. Тобто НСК.
— Тридцять шість.
— Добре. Пишіть код, що це визначить.
— print(math.lcm(12,18))
— Ой, а ви де це взяли?
— ChatGPT підказав, у Python з версії 3.9
— Ну, тоді у нас сьогодні версія 3.8 і ChatGPT – гріх. Шукаємо НСК в нових умовах ))

Хотів пошуткувати зі штучним інтелектом.
Тепер відчуваю себе першокласником, якого поставили в куток за дурні запитання ))
Одного чудового ранку понеділка три друга – Вова, Петрик і Степан знайшли скарб з цукерками. Кожен в цей день з’їв купу цукерок, а дослідник Петрик записав всі кількості в зошит, бо йому було цікаво дізнатися загальну кількість цукерок у скарбі. У вівторок і середу щасливі дні продовжилися і хлопці радісно споживали смакоту. Але в четвер на перманентно-радісні обличчя хлопців звернула увагу Оленка. За допомогою різноманітних і не завжди коректних методів впливу вона дізналася про скарб і швидко сформувала у хлопців комплекс провини на предмет «треба було ділитися». Починаючи від четверга Оленка також взяла участь у смачних дегустаціях. В неділю цукерочний скарб вичерпався. Оленка заявила хлопцям, що вона в цій історії – постраждала сторона, бо почала брати участь у щасті лише з четверга, коли всі інші раділи вже на повну. Петрик дістав зошит, і порахував на Python кому скільки дісталося цукерок:
names = ['Вова', 'Петрик', 'Степан', 'Оленка']
vova = [15, 20, 22, 7, 12, 23, 16]
petryk = [13, 14, 12, 11, 13, 12, 9]
stepan = [12, 2, 13, 14, 15, 16, 17]
olenka = [29, 30, 31, 28]
sweets = [sum(vova), sum(petryk), sum(stepan), sum(olenka)]
print(names)
print(sweets)
Проста і гарна програма видала чесну статистику:
['Вова', 'Петрик', 'Степан', 'Оленка']
[115, 84, 89, 118]
Розумна Оленка переглянула код програми, результат, і, звичайно, все зрозуміла. Але вирішила пошуткувати і включила режим «я – дівчинка, я в цифрах не розуміюсь, мені намалювати краще». Петрик колись давно, ще коли не було ChatGPT читав, що для неймовірно популярної мови Python написано величезне море бібліотек. Відповідно, щось повинно бути і для візуалізації даних, це ж популярна задача. Петрик продовжив дослідження і здивовано дізнався, що для візуалізації на Python давно існує бібліотека Matplotlib, але ще більш цікавим для Петрика був факт, що не треба возитися з встановленням цієї бібліотеки в свій локальний Python, розбиратися з PIP та іншими деталями. Достатньо в коді свої програми на Replit вказати використання зовнішньої бібліотеки. І розумний Replit самостійно розбереться з її підключенням і всіма необхідними налаштуваннями. Відповідно, щоб для Оленки зробити картинку-діаграму треба дописати в програму Петрика всього ТРИ рядочка.
import matplotlib.pyplot as plt
names = ['Вова', 'Петрик', 'Степан', 'Оленка']
vova = [15, 20, 22, 7, 12, 23, 16]
petryk = [13, 14, 12, 11, 13, 12, 9]
stepan = [12, 2, 13, 14, 15, 16, 17]
olenka = [29, 30, 31, 28]
sweets = [sum(vova), sum(petryk), sum(stepan), sum(olenka)]
print(names)
print(sweets)
plt.pie(sweets, labels=names, autopct='%.0f%%')
plt.show()
Яка краса! – сказала Оленка. Після чого вся компанія почала ще більше поважати Replit і знову-таки радіти Пайтону. Треба, — сказав Петрик, — знайти відповідну бібліотеку і порахувати вірогідність знаходження ще одного скарбу з цукерками. Це ж Python, обов’язково повинно на цю тему щось бути!
Звичайні шестигранні гральні кості бувають різні: праві і ліві, азіатські і європейські. Особливу увагу приділяють гральним костям для казино. На кожному екземплярі, зазвичай, проставляється логотип закладу та індивідуальний номер, для ускладнення шахрайства. На гранях костей для казино висвердлюють ямки, які заповнюються фарбою з такою самою щільністю, як вийнятий з ямок пластик, після чого кості полірують, щоб поверхня була ідеально гладкою. Такі кості називають «гладкокрапковими». Найчастіше, як пишуть, у казино зустрічаються кості з червоного прозорого пластику. Казино можуть продавати кості як сувеніри з недійсними серійними номерами:
Фото звідси
Всі ці складнощі щодо костей в казино мають просту мету – кості повинні видавати результати з максимальною рівномірністю. Давайте припустим, що в непрозорий кубик хтось всередину не по центру вплавить металеву кульку. Це скоріше за все змінить рівномірність результатів випадінь цифр і це шахрайство. Або хтось зробить кубик прозорим, але з нерівномірного пластику або некубічної, «витягнутої» або дещо «перекошеної» форми, – це, звичайно, також може змінити результати рівномірного випадіння цифр. Саме це і є, сподіваємось, причиною такого серйозного відношення до якості гральних костей у казино.
Ми можемо використовувати гральні кості для будь-яких своїх ігор. І хоч у нас тут не казино, ми хочемо мати нормальні гральні кості, без омани і хитрування, не витрачати купу грошей на щось, що називають «професійним».
Ось звичайні гральні кості, куплені в спортивному магазині:
Невеличкі, коштують по 2 гривні за штуку. Ставимо собі просту задачу – відібрати з них дві найкращі кості по рівномірності випадіння цифр. Наприклад, для використання в нашій грі. Звичайно, щодо ігор треба бути певною мірою обережними, бо, наприклад, грати в нарди канонічно заборонено в ісламі. Але зараз у нас тут не гра, а наукове дослідження, що буде складатися з суми експериментів і аналізу їх результатів.
Як інструмент для проведення аналізу нашого дослідження чудово підходить комп’ютер. Ми можемо скористатися електронною таблицею або написати програму мовою програмування. Звичайно, все можна порахувати за допомогою ручки і паперу, але використання комп’ютера виправдано – це зменшить об’єм ручної роботи і кількість помилок. А ще у нас є вже готовий математичний апарат дослідження – стандартне відхилення (standard deviation). Ще його називають середньоквадратичним відхиленням показників розсіювання значень випадкової величини відносно її математичного сподівання, тобто центру розподілу. Якщо це комусь здається дуже складним, то, запевняю, там дуже прості математичні обрахунки. Cтандартне відхилення просто рахується на листочку з ручкою і калькулятором, але на комп’ютері простіше і швидше. Чим менше величина стандартного відхилення, тим нам краще, тим рівномірніше випадають цифри. Якщо, наприклад, ми кинули гральну кість 12 разів і випало рівномірно: двічі одиниця, двічі двійка і т.д., то стандартне відхилення буде дорівнювати нулю.
Ось один з варіантів опрацювання результатів дослідження в електронній таблиці:
Перший експеримент, перше кидання кості. Випала, наприклад, одиниця. Ми записуємо в перший рядок (бо перший експеримент) одиничку в перший стовбчик (бо випала одиниця). При другому киданні цієї ж кості випала, припустим, трійка. Тоді записуємо одиничку в другий рядок (бо другий експеримент) в третій стовпчик (бо випала трійка). І так далі. В електронній таблиці потім дуже легко буде порахувати кількість випадіння кожної цифри, відсотки та однією формулою обрахувати стандартне відхилення.
Звичайно, таку роботу можна проводити в парах – один учасник проводить експерименти, інший нотує їх результати. А ще можна порадіти існуванню електронних таблиць, бо рахувати стандартне відхилення на сотні експериментів вже достатньо довго.
Безумовно, задачу аналізу дослідження можна вирішити мовою програмування. І знову таки, чудовий завдяки своїй універсальності Python в стандартній бібліотеці має модуль statistics, в якому є функція обрахунку стандартного відхилення. Ось один з варіантів програми, що допоможе в аналізі:
Код тут
Важливим в даному дослідженні є його прикладна сутність: ми за допомогою комп’ютера обирали дві гральні кості з найкращим показником рівномірності, причому обирали з науковим підходом і використанням чудового інструменту на ім’я комп’ютер. А ще розібралися з математичним апаратом такого дослідження. Це ж дослідження? Безумовно. З результатами? З результатами. Весела прикладна забава, частково відповідаюча на дитячі запитання «нашо та математика, для чого вона?!».

Чудово працювати в школі. Спілкуєшся з живими, щирими, в гарному сенсі недовірливими людьми.
От побачив якось в інтернеті китайську дзиґу. Така дурнувата дзиґа, спочатку вона просто крутиться, потім валиться набік а потім взагалі встає на свою ніжку. Здивувася, запитав себе «а точно?». Купив таке щастя у китайців. Пів вечора крутили з котом ту радість. Краса!
Приніс в школу, розказав дітям, що це така дивна дзиґа. Що сказали діти? «А точно? А покажіть!». І от ти вже з дітьми в шкільному коридорі на підлозі стоїш на колінах, запускаєш ці дзиґи і ви разом дивуєтесь тому чуду, а за деталями того дива відправляєш дітей до вчительки фізики. Міжпредметні зв’язки і розумна вчителька фізики — чудове поєднання. Ось ці дзиґи, 100 гривень у китайців коштують:
І так весь час в школі: ніхто тобі не вірить на слово, всі все перевіряють, посміхаються, дивуються. Позитив у чистому вигляді. Це дуже цінна річ, особливо для тих, кому є з чим порівнювати, хто прийшов у школу довгими шляхами.
А ще тут знайшов неймовірну задачу з шістьма сірниками.
Ось умова:
Із чотирьох сірників можна скласти квадрат. Додаємо до цих чотирьох ще два сірника, кожний з яких зламаний навпіл, як на малюнку.
Зламаний сірник можна згинати. Ламати цілі сірники не можна. Яке максимальне число квадратів можна скласти з такого комплекту сірників?
Коли на небі роздавали творчі таланти, то я однозначно курив. І коли таланти роздавали в геометрії – також. Тому я легко розв’язав цю задачу, у мене вийшло аж два квадрати:
Десь в глибині душі я відчував, що можна більше, да і самооцінка щиро реготала.
Там, де я знайшов цю задачу пропонували три квадрати, і це дійсно гарне рішення:
Зрадівши гарному чужому рішенню, я додав цю задачу до цьогорічного екзамену з логіки для шкільних програмістів і запропонував цю задачу іншим своїм учням. І тут почалося чудо. Почалося те, що нечасто можна побачити у дорослих. Діти ламали сірники, пробували, посміхалися, сварилися. З сірниками, зі мною, з собою. Складали сірники на столі, в графічному редакторі, з травички на асфальті. Діти знайшли рішення, коли не два, як у мене квадрати, і не три, як я в інтернеті знайшов. Діти зробили цю задачу, склавши з сірників 5, 6, 8, 9, 11, 14 квадратів.
І ти тихенько питаєш дітей: «Дозвольте я сфоткаю Ваш розв’язок для статті з вказівкою авторства?». І розумієш. Як чудово бути вчителем.
Ну, а тепер роботи учнів, що поділились розв’язками. Творчість учнів і свято вчителя з шести сірників:
П'ять квадратів. Автор: Маргарита Василюк.
Шість квадратів. Автор: Олексій Бірюченко.
Шість квадратів. Автор: Анна Нікончик.
Вісім квадратів. Автор: Анастасія Гуланова.
Вісім квадратів. Автор: Вікторія Дем'янчук.
Вісім квадратів. Автор: Даниїл Самсонюк.
Вісім квадратів. Автор: Діана Супрун.
Вісім квадратів. Автор: Олександр Чорноус.
Вісім квадратів. Автор: Юлія Городова.
Дев'ять квадратів. Автор: Денис Романюк.
Дев'ять квадратів. Автор: Денис Романюк.
Одинадцять квадратів. Автор: Маргарита Василюк.
Одинадцять квадратів. Автор: Альона Білошапка (я трохи підрівняв сірники в ідеї Альони).
Чотирнадцять квадратів. Автор: Маргарита Василюк.
Чотирнадцять квадратів. Автор: Анна Нікончик.
Чотирнадцять квадратів. Автор: Денис Романюк.
Дивишся на це свято творчості та інтелекту і розумієш. Що діти більш творчі ніж ти. Що вони молодці. Що треба піти купити ще сірників, бо ці вже закінчуються. Що цікава задача і розумні діти подарували тобі, як вчителю, радість.

Можливо, хтось пропустив цю дивну історію.
Волонтер-водій штабу Благодійного Фонду Сергія Притули, а в мирному житті колекціонер Ігор Понамарчук подарував Фонду картину з сімейної колекції – «Квіти виросли коло четвертого блока» з серії робіт художниці Марії Примаченко, присвячених Чорнобильській трагедії. Директорка приватного музею «Духовні скарби України», дружина Ігоря Дар’я Добріян розповіла, що їхня родина ніколи б не продавала цей твір, якби не війна. Зусилля професіоналів з різних сфер суспільства зараз мають іти на допомогу армії в боротьбі проти росії, адже саме ЗСУ — наші найкращі колекціонери перемоги. Родина Марії Примаченко підтримала благодійний аукціон і вже відмовилася від роялті з продажу картини на користь Збройних Сил України. (звідси).
Картина «Квіти виросли коло четвертого блоку» була продана п'ятого травня 2022 року на аукціоні за півмільйони доларів.
Цитата Сергія Притули у фейсбуці:
« Ну і промінчики добра двом добродіям з-за кордону, які зробили спільну ставку і гідно оцінили роботу Примаченко! І окремо від себе хочу подякувати їм за запевнення в тому, що КАРТИНА ЗАЛИШИТЬСЯ В УКРАЇНІ І БУДЕ ПЕРЕДАНА ДО ОДНОГО З КИЇВСЬКИХ МУЗЕЇВ!!»
Так само Сергій Притула пояснив, куди підуть гроші від продажу картини:
125 бусів Volkswagen T5 для переднього краю фронту!
Ще раз: СТО ДВАДЦЯТЬ П’ЯТЬ БУСІВ!!!
Які будуть перевозити особовий склад, вантажі, які будуть використовуватись для евакуації, для роботи підрозділів аеророзвідки тощо. Все для того, щоб палити русню і рятувати наших!!!
Близько двох тижнів тому нам вдалось домовитись у Німеччині про викуп такої великої партії транспорту за максимально пільговою ціною. Після передоплати нам якраз не вистачало тої суми, яку ми вчора вторгували. Я збирався робити окремий допис-звернення до людей, щоб закрити цей проект, але одна картина зробила це замість усіх нас.»
Ну і дві світлини буси і квіти
Назва: Квіти виросли коло четвертого блока
Автор: Примаченко Марія Оксентіївна
Дата: 1990
Техніка: гуаш
Основа: папір
Розмір: 60 x 40 см
Code:
import turtle
shapes = ['circle', 'circle', 'circle','triangle', 'circle',
'square', 'circle', 'circle', 'triangle', 'circle',
'square', 'triangle', 'circle', 'square','square',
'triangle', 'circle', 'square', 'turtle', 'square',
'square', 'circle', 'circle', 'triangle', 'circle',
'circle', 'circle','triangle', 'circle', 'circle',
'square']
turtle.penup()
turtle.backward(450)
for s in shapes:
turtle.shape(s)
turtle.forward(28)
turtle.stamp()

Запропонував своїм учням і вчителям інформатики у фейсбуці цікаву, як на мене, задачу:
Це вся умова, нічого більше в умові немає. Щоб не допускати вгадування, всі розв’язки просив пояснювати. Варіант «Я – художник, я так бачу» як варіант не приймався, бо задача була заявлена як логічна і потребує, відповідно, логічного пояснення.
Можете спробувати самостійно розв'язати, а лише після того клікнути на "Детальніше" і дізнатися ще кілька версій розв'язку.
В час війни не у всіх є можливість вчитися. Не у всіх є можливість навіть вижити. Але кожен може спробувати принести щось своє для того, щоб жити і перемагати. Сьогодні у нас програмування. Так, під час війни. Хто може цим займатися, у кого є сили і можливості – приєднуйтесь. У кого немає – приєднуйтесь до нас все одно, хоч завтра, хоч після Перемоги.
Задача:
Число 18 має цікаву властивість. Сума його цифр не змінюється при множенні на 2, 3, 4, 5, 6, 7, 8, 9. Які ще є двоцифрові числа, що мають таку ж властивість?
Пояснення: cума цифр числа 18 буде число 9 (1+8). Якщо ми помножимо число 18 на два, то буде 36, а сума чисел числа 36 також буде дев'ять (3+6). Якщо помножимо на три, також 9 (5+4). Ну і так далі. Треба серед двоцифрових чисел знайти всі числа, що мають таку ж властивість. Можна вручну, можна написати програму.
Під посиланням «Детальніше» збираємо варіанти програм. Всі можуть взяти участь і поділитися своїм розв'язком: Ця електронна адреса захищена від спам-ботів. Вам необхідно увімкнути JavaScript, щоб побачити її.
Раджу спочатку спробувати самостійно, а вже потім порівняти з розв'язками, що написали інші.
Успіхів!
З 1 по 4 квітня 2022 року буде проходити наступний раунд одного з самих цікавих і складних інтелектуальних конкурсів світу – CS50x Puzzle Day.
Всім бажаючим будуть представлені логічні задачі і надано чотири доби на їх розв’язання. Традиційно організатори дозволяють користуватися інтернетом та будь-якими іншими ресурсами, але задачі кожного разу нові і авторські. Мова завдань — англійська. Під час розв’язку учасникам дозволяється об’єднуватися в команди, бо завдання традиційно складні і знайти розв’язок самостійно — складно.
Команда, в якій я маю честь брати участь в «CS50x Puzzle Day» зветься «i7 Ukraine». Весною 2020 року ми вперше спробувати свої сили і розв’язали дві задачі з восьми.
Тут можна подивитися завдання весняного туру 2020, а тут — пояснення розв’язків.
Задачі справді складні, от тут я детально описав українською, яким алгоритмом ми бились над однією з задач 25 годин, але так і не дотиснули.
Восени того самого 2020 року, з 4 по 7 вересня оранізатори запустили наступний раунд змагань. Ми знову менше спали ті ночі, годинами сиділи в Zoom і хмарних сервісах колективної роботи.
Кожен учасник з майже 14 тисяч зареєстрованих в осінньому турі CS50 Puzzle Day сподівався отримати сертифікат, але для цього потрібно правильно розв'язати не менше п’яти задач з восьми. Або самостійно або у складі невеликої команди.
Пізно ввечері, за кілька годин до завершення змагання, ми розв’язали ще одну задачу і капітан нашої команди Вікторія Кондратюк відправила відповіді. Опівночі змагання для України завершилось, а на наступний день, коли змагання завершилось у всіх часових зонах світу, в ZOOM і YouTube професор Гарварда і автор курсу CS50 David Malan розпочав відеозустріч, на якій були представлені правильні відповіді.
Команда учнів і випускників звичайної української школи правильно розв'язала сім задач з восьми і отримала сертифікати, підписані David Malan.
Як ми раділи – то важко описати )
Ну а тепер знову розпочинається CS50 Puzzle Day. В 2022 році, в новій реальності для нашої країни. В якій є не лише неймовірні ЗСУ, а чимало розумних людей. CS50 Puzzle Day – це дуже складно, це виклик. Але українці вміють приймати виклики.
Ось як виглядає той самий сертифікат, який отримує кожний учасник команди:
Хочете такий? Збирайте команду розумних і амбіційних!
А ще розкажіть, будь ласка, своїм колегам і друзям, що один з найскладніших інтелектуальних конкурсів світу розпочинається першого квітня 2022 року.
Успіхів нам!