Решение задачи про продажу стада коров
Представим изначальное количество коров в стаде как число 10*n + k, где n – любое число >= 0, а k – число в диапазоне [0..9]. Тогда, продав всех коров, братья заработали (10*n + k)^2 рублей. Проводим преобразования:
(10*n + k)^2 = 100*n^2 + 20*n*k + k^2
Из условия известно, что количество десятков в этом числе – нечётное. Рассмотрим слагаемые внимательнее: 100*n^2 не влияет на количество десятков в итоговом значении, 20*n*k дает чётное количество десятков при любых n и k.
Значит, чтобы количество десятков было нечетным, в последнем слагаемом k^2 количество десятков должно быть нечётным. Так как k – это число [0..9], то переберём все возможные значения. Нам подойдут только числа 4 и 6, так как их квадраты равны 16 и 36 соответственно.
В обоих случаях количество единиц равно 6. То есть при любых k и n, если количество десятков нечетное, то в единицах будет 6. Соответственно младшему брату не хватило 4 рублей до равенства. Старший брат отдал ему свой нож (потерял стоимость ножа), младший получил нож (стоимость ножа). Получается, нож стоит 2 рубля.
Ответ: 2 рубля.
Представим изначальное количество коров в стаде как число 10*n + k, где n – любое число >= 0, а k – число в диапазоне [0..9]. Тогда, продав всех коров, братья заработали (10*n + k)^2 рублей. Проводим преобразования:
(10*n + k)^2 = 100*n^2 + 20*n*k + k^2
Из условия известно, что количество десятков в этом числе – нечётное. Рассмотрим слагаемые внимательнее: 100*n^2 не влияет на количество десятков в итоговом значении, 20*n*k дает чётное количество десятков при любых n и k.
Значит, чтобы количество десятков было нечетным, в последнем слагаемом k^2 количество десятков должно быть нечётным. Так как k – это число [0..9], то переберём все возможные значения. Нам подойдут только числа 4 и 6, так как их квадраты равны 16 и 36 соответственно.
В обоих случаях количество единиц равно 6. То есть при любых k и n, если количество десятков нечетное, то в единицах будет 6. Соответственно младшему брату не хватило 4 рублей до равенства. Старший брат отдал ему свой нож (потерял стоимость ножа), младший получил нож (стоимость ножа). Получается, нож стоит 2 рубля.
Ответ: 2 рубля.
Подборка фронтенд-проектов для новичков
Создание собственных небольших проектов сильно прокачивает ваши навыки. В подборке мы собрали несколько идей веб-проектов, которые будет интересно реализовать:
tprg.ru/bWHv
#фронтенд
Создание собственных небольших проектов сильно прокачивает ваши навыки. В подборке мы собрали несколько идей веб-проектов, которые будет интересно реализовать:
tprg.ru/bWHv
#фронтенд
Tproger
Подборка фронтенд-проектов для новичков
Хотите стать фронтенд-разработчиком? Рассказываем идеи, для новичков, которые помогут прокачать навыки HTML, CSS и JavaScript.
По какой причине вы решили стать программистом?
Давайте отойдём от банального аргумента «потому что много платят». Это может быть всё, что угодно: любовь к играм, желание делать собственные сайты, идея какого-то проекта, которую вынашиваете ещё с детства, и т.д.
Свои ответы оставляйте в комментариях.
#чат
Давайте отойдём от банального аргумента «потому что много платят». Это может быть всё, что угодно: любовь к играм, желание делать собственные сайты, идея какого-то проекта, которую вынашиваете ещё с детства, и т.д.
Свои ответы оставляйте в комментариях.
#чат
История пути нашего подписчика от студента до разработчика
Почитайте историю о том, как студент из тульского университета нашёл свою первую работу разработчика на C# и как удалось совместить её с учёбой.
Автор также поделился материалами, которые помогут усовершенствовать свои навыки программирования и изучить C#:
tprg.ru/uNlz
#советы
Почитайте историю о том, как студент из тульского университета нашёл свою первую работу разработчика на C# и как удалось совместить её с учёбой.
Автор также поделился материалами, которые помогут усовершенствовать свои навыки программирования и изучить C#:
tprg.ru/uNlz
#советы
Tproger
Моя история в IT: от студента до разработчика
Рассказ о том, как студент начал карьеру разработчика и получил незаменимый практический опыт, и какие навыки и знания помогли этого добиться.
15 февраля — день рождения Никлауса Вирта, создателя языка Pascal
В первую очередь Вирт известен за язык Pascal, который до сих пор преподаётся в российских школах и вузах. Хоть в этом году языку уже 50 лет, его идеи по-прежнему живы в современных языках.
Никлаус Вирт внёс огромный вклад в развитие IT-индустрию, и он не ограничивается одним лишь Pascal. В статье рассказывается и о других заслугах профессора:
tprg.ru/fcOj
В первую очередь Вирт известен за язык Pascal, который до сих пор преподаётся в российских школах и вузах. Хоть в этом году языку уже 50 лет, его идеи по-прежнему живы в современных языках.
Никлаус Вирт внёс огромный вклад в развитие IT-индустрию, и он не ограничивается одним лишь Pascal. В статье рассказывается и о других заслугах профессора:
tprg.ru/fcOj
Где общаются разработчики: русскоязычные чаты программистов
Общение с опытными разработчиками помогает новичкам исправить неочевидные ошибки и решить проблемы, которые трудно загуглить.
Мы собрали несколько ссылок на чаты программистов, среди которых вы можете найти подходящие по профилю:
tprg.ru/2PZJ
#советы
Общение с опытными разработчиками помогает новичкам исправить неочевидные ошибки и решить проблемы, которые трудно загуглить.
Мы собрали несколько ссылок на чаты программистов, среди которых вы можете найти подходящие по профилю:
tprg.ru/2PZJ
#советы
Tproger
Где общаются разработчики: русскоязычные чаты программистов
Сделали подборку чатов программистов в Slack, Telegram и Gitter.
Что послушать: подкаст о том, как учить языки программирования
Гостем 200 выпуска подкаста Podlodka стал Виталий Брагилевский, который за свою карьеру преподавал суммарно 20 языков. В подкасте он обсудил различные языки программирования, их использование и популярность:
tprg.ru/Dwsy
#подкасты
Гостем 200 выпуска подкаста Podlodka стал Виталий Брагилевский, который за свою карьеру преподавал суммарно 20 языков. В подкасте он обсудил различные языки программирования, их использование и популярность:
tprg.ru/Dwsy
#подкасты
SoundCloud
Podlodka #200 – Как учить языки программирования
Что такое "идеальный юбилейный выпуск подкаста Podlodka"? Формула простая: горячая айтишная тема + проверенный гость + наше любимое дело!
Языки программирования — фундамент наших профессий и несконч
Языки программирования — фундамент наших профессий и несконч
Подборка 11 инструментов, облегчающих разработку на Java
Для языка Java существует множество удобных и полезных инструментов, которые упрощают тестирование и ускоряют разработку проектов.
В подборке собраны наиболее популярные инструменты для Java среди систем сборки, сред разработки и фреймворков :
tprg.ru/K6Vh
#java
Для языка Java существует множество удобных и полезных инструментов, которые упрощают тестирование и ускоряют разработку проектов.
В подборке собраны наиболее популярные инструменты для Java среди систем сборки, сред разработки и фреймворков :
tprg.ru/K6Vh
#java
Tproger
В помощь Java-программисту: 11 инструментов, облегчающих разработку
Современному Java-разработчику доступен огромный выбор различных инструментов. Мы подготовили 11 лучших, чтобы помочь выбрать подходящий для вас.
Что такое язык Go: объяснение за 5 минут
Язык Go используется в разработке бэкенда веб-приложений и ценится за его минималистичность и безопасность.
Если вы решили стать бэкенд-разработчиком, но не совсем понимаете, в чём Go превосходит Java и C++ для бэкенда, то рекомендуем посмотреть короткое видео. В нём нет разбора синтаксиса, но зато хорошо объяснены ключевые концепции языка, которые могут вдохновить на знакомство с этим языком:
youtu.be/wBxOKQpdESg
#go #бэкенд
Язык Go используется в разработке бэкенда веб-приложений и ценится за его минималистичность и безопасность.
Если вы решили стать бэкенд-разработчиком, но не совсем понимаете, в чём Go превосходит Java и C++ для бэкенда, то рекомендуем посмотреть короткое видео. В нём нет разбора синтаксиса, но зато хорошо объяснены ключевые концепции языка, которые могут вдохновить на знакомство с этим языком:
youtu.be/wBxOKQpdESg
#go #бэкенд
YouTube
Язык программирования Go. Фёдор Короткий
Третий ролик из серии про языки программирования посвящён языку Go. Фёдор Корткий, ведущий разработчик в службе технологий распределённых вычислений, рассказал, как устроен этот язык, для каких задач он лучше всего подходит, и в чём заключается его главное…
Всё о сортировке в Python: исчерпывающее руководство
Как работает встроенная сортировка в Python? В статье разобраны основные возможности сортировки через
tprg.ru/Kqta
#python #сортировки
Как работает встроенная сортировка в Python? В статье разобраны основные возможности сортировки через
sorted()
для итерируемых объектов и list.sort()
для списков:tprg.ru/Kqta
#python #сортировки
Tproger
Всё о сортировке в Python: исчерпывающий гайд
Сортировка в Python выполняется с помощью sorted() и list.sort(). Разбираем на примерах, как это работает.
Как найти сумму и количество чётных и нечётных чисел в диапазоне на C#
Если вы только начали изучать C#, то решение этой задачи поможет разобраться, как работают циклы и конструкции if-else.
Разбор задачи на YouTube:
youtu.be/bJ4DtsojdrI
#csharp
Если вы только начали изучать C#, то решение этой задачи поможет разобраться, как работают циклы и конструкции if-else.
Разбор задачи на YouTube:
youtu.be/bJ4DtsojdrI
#csharp
YouTube
СУММА И КОЛИЧЕСТВО ЧЕТНЫХ И НЕЧЕТНЫХ ЧИСЕЛ В ДИАПАЗОНЕ | C# ДОМАШНИЕ ЗАДАНИЯ | #4
➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy
👉 https://www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02
✅Доступ к исходному коду и спонсорство https://www.patreon.com/SimpleCode
✅ https://donatepay.ru/don/SimpleCode
✅BTC…
👉 https://www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02
✅Доступ к исходному коду и спонсорство https://www.patreon.com/SimpleCode
✅ https://donatepay.ru/don/SimpleCode
✅BTC…
История входа в IT: из инженера-химика в Java-разработчики
Автор статьи в детстве мечтал стать программистом, а в итоге выучился на химика. Поработав некоторое время по специальности, он разочаровался в ней и решил вернуться к своей детской мечте.
Почитайте его историю тернистого пути в Java-разработчики:
tprg.ru/Kjuk
#советы
Автор статьи в детстве мечтал стать программистом, а в итоге выучился на химика. Поработав некоторое время по специальности, он разочаровался в ней и решил вернуться к своей детской мечте.
Почитайте его историю тернистого пути в Java-разработчики:
tprg.ru/Kjuk
#советы
Tproger
Моя история в IT: как я из химика стал программистом
История о том, как учёный-химик в IT входил.
Логические задачки, мемы и не только в нашем боте
Мы обновили раздел развлечений бота и добавили рассылку случайных мемов и задачек с нашего сайта. И теперь вы можете получить их прямо в Telegram-чате. Удобно, не правда ли?
У бота есть ещё несколько крутых фишек, попробуйте:
t.iss.one/tproger_official_bot?start=entertainments
Мы обновили раздел развлечений бота и добавили рассылку случайных мемов и задачек с нашего сайта. И теперь вы можете получить их прямо в Telegram-чате. Удобно, не правда ли?
У бота есть ещё несколько крутых фишек, попробуйте:
t.iss.one/tproger_official_bot?start=entertainments
Динамическое выделение памяти в C++
Для создания переменной требуется выделить определённое количество памяти. А если во время работы программы требуется, например, записать строку, введённую пользователем, то заранее предугадать её размер невозможно.
В подобном случае нужно выделить память динамически, то есть найти размер переменной и в соответствии с ним получить требуемое количество памяти.
Подробнее о динамическом выделении памяти:
tprg.ru/U9FV
#cpp
Для создания переменной требуется выделить определённое количество памяти. А если во время работы программы требуется, например, записать строку, введённую пользователем, то заранее предугадать её размер невозможно.
В подобном случае нужно выделить память динамически, то есть найти размер переменной и в соответствии с ним получить требуемое количество памяти.
Подробнее о динамическом выделении памяти:
tprg.ru/U9FV
#cpp
Задача про деление бактерий
Раз мы коснулись сегодня темы перехода из химиков в программисты, то предлагаем решить тематическую задачу.
Представьте, что вы биохимик-лаборант в секретной лаборатории. Вы провели эксперимент, в ходе которого обнаружили, что если положить 1 бактерию в пробирку, то пробирка заполнится бактериями за 60 секунд.
Известно, что 1 бактерия делится на 2 бактерии один раз в конце каждой секунды.
Через сколько секунд заполнится пробирка, если в неё положить 3 бактерии?
Ответ опубликуем через 2 часа.
#задачи
Раз мы коснулись сегодня темы перехода из химиков в программисты, то предлагаем решить тематическую задачу.
Представьте, что вы биохимик-лаборант в секретной лаборатории. Вы провели эксперимент, в ходе которого обнаружили, что если положить 1 бактерию в пробирку, то пробирка заполнится бактериями за 60 секунд.
Известно, что 1 бактерия делится на 2 бактерии один раз в конце каждой секунды.
Через сколько секунд заполнится пробирка, если в неё положить 3 бактерии?
Ответ опубликуем через 2 часа.
#задачи
Через сколько секунд заполнится пробирка, если в неё положить 3 бактерии?
Anonymous Quiz
37%
30
20%
45
20%
58
22%
59
Решение задачи про деление бактерий
Задачу удобно решать, если представить её как битовую маску
Рассмотрим заполнение пробирки одной бактерией. В первую секунду заполнен ровно 1 младший бит (нулевой бит) 000...0001. Через 60 секунд у нас будет заполнен 60-й бит, то есть 60-й бит является условием заполнения колбы.
Если положить три бактерии, то битовая маска примет вид 000...0011 (двоичное представление числа 3 — 11). Через 59 секунд сдвигом будет заполнен 60-й бит. Однако 59-ый бит тоже будет равен 1, и часть бактерий вывалится из пробирки.
Если рассмотреть пробирку через 58 секунд, то она не заполнится до конца, поскольку будут заняты 58-й и 59-й бит.
Ответ: 59 секунд.
Мы показали решение задачи с точки зрения программиста, но её можно решить и математически через степени двойки, что, по сути, аналогично предложенному решению.
Источник
Задачу удобно решать, если представить её как битовую маску
std::uint64_t
, ведь каждая бактерия удваивается в конце каждой секунды.Рассмотрим заполнение пробирки одной бактерией. В первую секунду заполнен ровно 1 младший бит (нулевой бит) 000...0001. Через 60 секунд у нас будет заполнен 60-й бит, то есть 60-й бит является условием заполнения колбы.
Если положить три бактерии, то битовая маска примет вид 000...0011 (двоичное представление числа 3 — 11). Через 59 секунд сдвигом будет заполнен 60-й бит. Однако 59-ый бит тоже будет равен 1, и часть бактерий вывалится из пробирки.
Если рассмотреть пробирку через 58 секунд, то она не заполнится до конца, поскольку будут заняты 58-й и 59-й бит.
Ответ: 59 секунд.
Мы показали решение задачи с точки зрения программиста, но её можно решить и математически через степени двойки, что, по сути, аналогично предложенному решению.
Источник
Вводный курс по машинному обучению с использованием TensorFlow
Если вы задумались о том, чтобы изучить машинное обучение и создавать нейронные сети, то посмотрите первый ролик из этого цикла. В нём кратко и интересно объясняются основные концепции машинного обучения.
Для обучения моделей используется популярный фреймворк TensorFlow, поэтому перед погружением в курс следует знать основы языка Python.
Введение: youtu.be/qu_WEHvGXWk
Основы компьютерного зрения: youtu.be/cjSI3gcC2IA
Введение в свёрточные нейронные сети: youtu.be/lthIsMLaq1Q
Создание классификатора изображений: youtu.be/WzxkhTxKZcs
#ml #python #курсы
Если вы задумались о том, чтобы изучить машинное обучение и создавать нейронные сети, то посмотрите первый ролик из этого цикла. В нём кратко и интересно объясняются основные концепции машинного обучения.
Для обучения моделей используется популярный фреймворк TensorFlow, поэтому перед погружением в курс следует знать основы языка Python.
Введение: youtu.be/qu_WEHvGXWk
Основы компьютерного зрения: youtu.be/cjSI3gcC2IA
Введение в свёрточные нейронные сети: youtu.be/lthIsMLaq1Q
Создание классификатора изображений: youtu.be/WzxkhTxKZcs
#ml #python #курсы
YouTube
Введение в Машинное Обучение (Машинное Обучение: Zero to Hero, часть 1)
Машинное обучение представляет собой новую парадигму программирования, где вместо явного задания правил на таком языке программирования как Java или C++, вы создаете систему, которая сама выводит эти правила, обучаясь на данных. Но как это выглядит на самом…