Задача: ищем кота в коробках
Кот прячется в одной из 5 коробок. Коробки пронумерованы от 1 до 5 и расположены в ряд по порядку.
Каждую ночь пугливый кот прячется в соседнюю коробку, находящуюся рядом с коробкой, в которой он прятался в предыдущий день. Каждое утро вы можете открыть только одну коробку, чтобы проверить наличие кота.
Как нужно играть в эту игру, чтобы вычислить коробку с котом?
Оставляйте свои ответы в комментариях, решение опубликуем через 2 часа.
#задачи
Кот прячется в одной из 5 коробок. Коробки пронумерованы от 1 до 5 и расположены в ряд по порядку.
Каждую ночь пугливый кот прячется в соседнюю коробку, находящуюся рядом с коробкой, в которой он прятался в предыдущий день. Каждое утро вы можете открыть только одну коробку, чтобы проверить наличие кота.
Как нужно играть в эту игру, чтобы вычислить коробку с котом?
Оставляйте свои ответы в комментариях, решение опубликуем через 2 часа.
#задачи
Ответ на задачу про кота в коробках
Поскольку кот всегда прыгает в соседнюю коробку, после открытия первой коробки можно определить, находится ли кот в четной или нечетной коробке.
Предположим, что кот начал с чётной коробки (№2 или №4):
1. В первый день проверяем коробку №2. Если нашли кота — выиграли. Если нет — кот прыгнул в коробку №4. Следовательно, на следующий день кот прыгнет в коробку №3 или №5.
2. Во второй день проверяем коробку №3. Если нашли кота — победа. В противном случае кот находится в коробке №5 и сможет перепрыгнуть только в коробку №4.
3. На следующий день проверяем коробку №4 — кот должен быть в ней.
Теперь предположим, что кот начал с нечётной коробки (№1, №3 или №5). Следуем той же стратегии до четвёртого дня, когда кот окажется в коробке №2 или №4:
1. В первый день – кот в коробке №1, №3 или №5.
2. Во второй день – кот в коробке №2 или №4.
3. В третий день – кот снова в нечётной коробке.
Следовательно, в 4-й день кот будет во 2-й или 4-й коробке.
Ситуация аналогична предыдущему случаю. Мы можем проверять коробки в порядке «2, 3 и 4» и так найти кота.
Итоговая последовательность: 2, 3, 4, 2, 3, 4
Другой вариант: 2, 3, 4, 4, 3, 2.
Поскольку кот всегда прыгает в соседнюю коробку, после открытия первой коробки можно определить, находится ли кот в четной или нечетной коробке.
Предположим, что кот начал с чётной коробки (№2 или №4):
1. В первый день проверяем коробку №2. Если нашли кота — выиграли. Если нет — кот прыгнул в коробку №4. Следовательно, на следующий день кот прыгнет в коробку №3 или №5.
2. Во второй день проверяем коробку №3. Если нашли кота — победа. В противном случае кот находится в коробке №5 и сможет перепрыгнуть только в коробку №4.
3. На следующий день проверяем коробку №4 — кот должен быть в ней.
Теперь предположим, что кот начал с нечётной коробки (№1, №3 или №5). Следуем той же стратегии до четвёртого дня, когда кот окажется в коробке №2 или №4:
1. В первый день – кот в коробке №1, №3 или №5.
2. Во второй день – кот в коробке №2 или №4.
3. В третий день – кот снова в нечётной коробке.
Следовательно, в 4-й день кот будет во 2-й или 4-й коробке.
Ситуация аналогична предыдущему случаю. Мы можем проверять коробки в порядке «2, 3 и 4» и так найти кота.
Итоговая последовательность: 2, 3, 4, 2, 3, 4
Другой вариант: 2, 3, 4, 4, 3, 2.
Основы криптографии: от математики до физики
Криптография изучает шифрование. О том, какие шифры бывают и какие из них используются в современных программах, читайте в статье:
https://tprg.ru/D8cw
#математика
Криптография изучает шифрование. О том, какие шифры бывают и какие из них используются в современных программах, читайте в статье:
https://tprg.ru/D8cw
#математика
Делаем игру с динозавриком из Chrome на JavaScript
Наверняка вы сталкивались в Chrome с динозавром, когда пропадала связь с Интернетом. В качестве упражнения предлагаем написать свою реализацию этой игры на JavaScript, CSS и HTML.
Как это сделать, пошагово объясняется в видео:
https://youtu.be/Av53VJI-UiE
#js #веб
Наверняка вы сталкивались в Chrome с динозавром, когда пропадала связь с Интернетом. В качестве упражнения предлагаем написать свою реализацию этой игры на JavaScript, CSS и HTML.
Как это сделать, пошагово объясняется в видео:
https://youtu.be/Av53VJI-UiE
#js #веб
YouTube
Игра на JavaScript с нуля для начинающих. ОЧЕНЬ ПРОСТО!
Очень много людей сейчас учит программирование на JavaScript, а учить нужно весело. Один из способов это сделать игру на Javascript, и я покажу для начинающих как это сделать легко и быстро. Игра на JavaScript для начинающих это способ реализации возможностей…
Хочу стать айтишником. С чего начать?
Если вы только решили войти в IT, то эта статья поможет вам разобраться:
— нужно ли вам действительно учиться программированию;
— если да, то как лучше всего построить обучение, чтобы получить хорошую работу.
Статья: https://tprg.ru/b4vu
#советы
Если вы только решили войти в IT, то эта статья поможет вам разобраться:
— нужно ли вам действительно учиться программированию;
— если да, то как лучше всего построить обучение, чтобы получить хорошую работу.
Статья: https://tprg.ru/b4vu
#советы
Что почитать: «Карьера программиста» Г. Макдауэлла
Чтобы успешно пройти собеседование в крупную IT-компанию, недостаточно владеть технологиями, перечисленными в описании вакансии.
Книга «Карьера программиста» помогает составить резюме, которое не пропустит рекрутёр, ознакомиться с процедурами прохождения собеседования, а также подготовиться к вопросам и задачам.
Обзор на книгу: https://tprg.ru/TSQK
P.S. Перед собеседованием в определённую компанию будет не лишним пообщаться с её сотрудниками, чтобы узнать больше про работу в компанию и процедуры найма.
#книги
Чтобы успешно пройти собеседование в крупную IT-компанию, недостаточно владеть технологиями, перечисленными в описании вакансии.
Книга «Карьера программиста» помогает составить резюме, которое не пропустит рекрутёр, ознакомиться с процедурами прохождения собеседования, а также подготовиться к вопросам и задачам.
Обзор на книгу: https://tprg.ru/TSQK
P.S. Перед собеседованием в определённую компанию будет не лишним пообщаться с её сотрудниками, чтобы узнать больше про работу в компанию и процедуры найма.
#книги
This media is not supported in your browser
VIEW IN TELEGRAM
Нет, это не кадры из голливудского фильма. Один разработчик всего лишь сделал красивую анимацию алгоритма шифрования SHA-256 в терминале.
Подробнее о том, как это работает: https://github.com/in3rsha/sha256-animation
Подробнее о том, как это работает: https://github.com/in3rsha/sha256-animation
В чём минусы профессии программиста?
Быть программистом — это здорово. Однако как у медали есть две стороны, так и у профессии программиста есть недостатки, которые, на первый взгляд, неочевидны.
Мы спросили у экспертов, с какими трудностями может столкнуться начинающий программист, и узнали о большом количестве проблем:
https://tprg.ru/aFgu
#советы
Быть программистом — это здорово. Однако как у медали есть две стороны, так и у профессии программиста есть недостатки, которые, на первый взгляд, неочевидны.
Мы спросили у экспертов, с какими трудностями может столкнуться начинающий программист, и узнали о большом количестве проблем:
https://tprg.ru/aFgu
#советы
Для чего хорош Python?
Язык Python достаточно лёгок в освоении и имеет большое сообщество. Поэтому язык нашел применение во множестве областей. Где именно — читайте в статье:
https://tprg.ru/zuoQ
#python
Язык Python достаточно лёгок в освоении и имеет большое сообщество. Поэтому язык нашел применение во множестве областей. Где именно — читайте в статье:
https://tprg.ru/zuoQ
#python
Задача про минимальное количество самолётов
На удалённом острове находится аэропорт. Этот аэропорт является базой для неограниченного количества одинаковых самолётов.
Топливная ёмкость каждого самолёта позволяет облететь ровно 1/2 земного шара вдоль большого круга. Самолёты имеют возможность дозаправки в воздухе без потери скорости и горючего. Хотя количество топлива тоже не ограничено, единственным его источником является этот остров.
Какое минимальное количество самолётов нужно, чтобы облететь земной шар? При этом:
— каждый самолёт должен безопасно вернуться в аэропорт;
— затраты горючего на ускорение, потери при испарении топлива и пр. не учитывать;
— нельзя передать всё топливо с одного самолета на другой;
— дозаправка — чрезвычайно быстрый процесс.
Решение задачи опубликуем через 2 часа.
#задачи
На удалённом острове находится аэропорт. Этот аэропорт является базой для неограниченного количества одинаковых самолётов.
Топливная ёмкость каждого самолёта позволяет облететь ровно 1/2 земного шара вдоль большого круга. Самолёты имеют возможность дозаправки в воздухе без потери скорости и горючего. Хотя количество топлива тоже не ограничено, единственным его источником является этот остров.
Какое минимальное количество самолётов нужно, чтобы облететь земной шар? При этом:
— каждый самолёт должен безопасно вернуться в аэропорт;
— затраты горючего на ускорение, потери при испарении топлива и пр. не учитывать;
— нельзя передать всё топливо с одного самолета на другой;
— дозаправка — чрезвычайно быстрый процесс.
Решение задачи опубликуем через 2 часа.
#задачи
Какое минимальное количество самолётов нужно, чтобы облететь земной шар?
Anonymous Quiz
28%
2
35%
3
23%
4
13%
5
Решение задачи про минимальное количество самолётов
Представим 3 самолёта (A, B и C). А собирается облететь вокруг Земли. Все три самолёта стартуют в одно время и в одном направлении. После 1/6 пути В передает 1/3 топлива С и возвращается домой, где заправляется и снова взлетает следом за А и С.
С продолжает лететь рядом с А, пока они не пройдут 1/4 всей дистанции. В этой точке С заправляет А до полного бака, так что А теперь может долететь до 3/4 окружности Земли. У С теперь осталось лишь 1/3 своего бака, и этого недостаточно, чтобы вернуться на базу. Но В будет в нужной точке для дозаправки C, и оба вспомогательных самолета смогут безопасно долететь до базы.
Таким же образом полностью заправленные В и С вылетают навстречу А. В снова дозаправляет С и возвращается на базу, чтобы пополнить бак. С встречает А в точке, когда А пролетел 3/4 дистанции.
Все три самолёта долетят до аэропорта, если дозаправка будет проводиться аналогично первой части полёта.
Представим 3 самолёта (A, B и C). А собирается облететь вокруг Земли. Все три самолёта стартуют в одно время и в одном направлении. После 1/6 пути В передает 1/3 топлива С и возвращается домой, где заправляется и снова взлетает следом за А и С.
С продолжает лететь рядом с А, пока они не пройдут 1/4 всей дистанции. В этой точке С заправляет А до полного бака, так что А теперь может долететь до 3/4 окружности Земли. У С теперь осталось лишь 1/3 своего бака, и этого недостаточно, чтобы вернуться на базу. Но В будет в нужной точке для дозаправки C, и оба вспомогательных самолета смогут безопасно долететь до базы.
Таким же образом полностью заправленные В и С вылетают навстречу А. В снова дозаправляет С и возвращается на базу, чтобы пополнить бак. С встречает А в точке, когда А пролетел 3/4 дистанции.
Все три самолёта долетят до аэропорта, если дозаправка будет проводиться аналогично первой части полёта.
Онлайн-учебник по JavaScript
Если вы хотите изучить JavaScript, но ещё не уверены в своём английском, то можете попробовать бесплатный онлайн-учебник по JavaScript на русском языке.
Весь материал разделён на 3 условные части:
1. Язык программирования JavaScript (упор делается только на сам язык).
2. Браузер: документ, события, интерфейсы (здесь изучается работа со страницей).
3. Полезные статьи.
Кроме того, на сайте есть специальные тесты, в которых вы можете проверить себя.
Ссылка: learn.javascript.ru
#js
Если вы хотите изучить JavaScript, но ещё не уверены в своём английском, то можете попробовать бесплатный онлайн-учебник по JavaScript на русском языке.
Весь материал разделён на 3 условные части:
1. Язык программирования JavaScript (упор делается только на сам язык).
2. Браузер: документ, события, интерфейсы (здесь изучается работа со страницей).
3. Полезные статьи.
Кроме того, на сайте есть специальные тесты, в которых вы можете проверить себя.
Ссылка: learn.javascript.ru
#js
Как одной формулой посчитать количество дней в месяце по его номеру?
Если посмотреть на количество дней в каждом месяце, то никакой закономерности поначалу найти не удаётся. Однако представим задачу как функцию f(x), где x — номер месяца, то есть функция получает номер месяца (от 1 до 12) и выдаёт количество дней в нём (високосные года в расчёт не берём).
Как можно решить:
https://tprg.ru/MZJ2
#задачи
Если посмотреть на количество дней в каждом месяце, то никакой закономерности поначалу найти не удаётся. Однако представим задачу как функцию f(x), где x — номер месяца, то есть функция получает номер месяца (от 1 до 12) и выдаёт количество дней в нём (високосные года в расчёт не берём).
Как можно решить:
https://tprg.ru/MZJ2
#задачи
Шпаргалка по Bash
Оболочка Bash принимает команды пользователя из терминала и передаёт их операционной системе на базе Linux.
С основными командами для работы с файлами, сетью и системой вы можете ознакомиться в статье:
https://tprg.ru/EftW
#linux
Оболочка Bash принимает команды пользователя из терминала и передаёт их операционной системе на базе Linux.
С основными командами для работы с файлами, сетью и системой вы можете ознакомиться в статье:
https://tprg.ru/EftW
#linux
Шаблоны проектирования на Java
Шаблоны проектирования (design patterns) представляют собой некоторые правила, установленные сообществом программистов. Они помогают решить общие проблемы при проектировании и разработке программ.
На GitHub есть репозиторий, в котором собрано множество design patterns, реализованных на языке Java. К каждому шаблону есть описание, а сам код хорошо прокомментирован.
Если вы ещё полноценно не освоили Java, добавьте страницу в закладки — пригодится:
https://github.com/iluwatar/java-design-patterns
#java #паттерны #алгоритмы
Шаблоны проектирования (design patterns) представляют собой некоторые правила, установленные сообществом программистов. Они помогают решить общие проблемы при проектировании и разработке программ.
На GitHub есть репозиторий, в котором собрано множество design patterns, реализованных на языке Java. К каждому шаблону есть описание, а сам код хорошо прокомментирован.
Если вы ещё полноценно не освоили Java, добавьте страницу в закладки — пригодится:
https://github.com/iluwatar/java-design-patterns
#java #паттерны #алгоритмы
Веб-разработка для начинающих: бесплатный видеокурс, который поможет оценить свои силы
Если вы не можете определиться с тем, стоит ли изучать фронтенд-разработку, обратите внимание на видеокурс по основам HTML, CSS и JavaScript. Темы курса объясняются на реальных примерах кода, поэтому вы получите примерное представление, с чем сталкивается в работе фронтенд-разработчик.
Весь курс выполнен в формате большого 11-часового видео. В описании к видео есть все необходимые таймкоды:
https://youtu.be/Xm4BObh4MhI
#веб #js
Если вы не можете определиться с тем, стоит ли изучать фронтенд-разработку, обратите внимание на видеокурс по основам HTML, CSS и JavaScript. Темы курса объясняются на реальных примерах кода, поэтому вы получите примерное представление, с чем сталкивается в работе фронтенд-разработчик.
Весь курс выполнен в формате большого 11-часового видео. В описании к видео есть все необходимые таймкоды:
https://youtu.be/Xm4BObh4MhI
#веб #js
YouTube
12HR+ YouTube Coding Bootcamp!
⭐ UPDATED VIDEO: https://www.youtube.com/watch?v=cndko2lx-_Y
Sign up for my Full Stack Developer Course: https://www.codewithania.com
Hello everyone and welcome to this online Coding Bootcamp. This Bootcamp has been designed specifically to make your coding…
Sign up for my Full Stack Developer Course: https://www.codewithania.com
Hello everyone and welcome to this online Coding Bootcamp. This Bootcamp has been designed specifically to make your coding…
Обязательно ли поступать в институт, чтобы сделать себе карьеру в программировании? Оставляйте ваши мнения в комментариях.