Проводили вчера занятие с учеником и разбирали одну задачку, которая навеяла на меня ностальгию. Все же помнят билеты в трамвая и автобусах? А помните, что когда попадался счастливый билет, то нужно было загадать желание и съесть его? Счастливый билет обладал небольшой математической магией...
Задача
Определить, является ли заданное шестизначное число счастливым. (Счастливым называют такое шестизначное число, в котором сумма его первых трех цифр равна сумме его последних трех цифр.)
Решение:
Конечно же решение может быть разным.. Если использовать фишки языка Python, то удобная работа со строками и всякие компактные конструкции, позволяющие делать срезы, позволяют быстро решить задачу.
Пример 1
Но что скрывается за этим синтаксическим сахаром? Операторы sum, int, str, срезы, динамическая генерация списка...
А можно ли сделать с помощью работы с числами? Здесь уже придется подумать.
Пример 2
Во втором способе всё делается через число. Такой способ уже можно переписать на более низкоуровневый язык, например на C. Из синтаксического сахара здесь остается ** - оператор возведения в степень, но это легко реализовать через отдельную функцию.
Можно ли решить эту задачу ещё как-нибудь красивым способом? Напишите ваши идеи в комментариях.
А вот и более подробная статья с аналитическим решением. Кому нравится много математики и длиннопосты, добро пожаловать в статью ниже:
Если Вам нужен репетитор по физике, математике или информатике/программированию, Вы можете написать мне или в мою группу Репетитор IT mentor в VK
Библиотека с книгами для физиков, математиков и программистов
Репетитор IT mentor в VK
Репетитор IT mentor в telegram