В нашей еженедельной подборке мы подготовили 5 новых интересных алгоритмических, логических и математических задачек для отдыха и прокачки мозгов. Решение логических задач не только улучшает ваше настроение, но и помогает в изучении языков программирования. Если вы пропустили предыдущую еженедельную подборку, найти ее можно по ссылке. Задача 1 На новогоднем школьном утреннике кто-то проник в кабинет, где находился праздничный торт и варварски откусил от него большой кусок. Классный руководитель подозвал к себе детей, которые бегали по коридору рядом с местом преступления, и начал выяснять, кто же из них совершил акт вандализма. После разговора он получил такую цепочку ответов: Анфиса: «Преступление совершил Вова!» Боря: «Это неправда!» Вова: «Я откусил!» Галя: «Нет! Это я откусила!» Диана: «Галя ни в чем не виновата!» Егор: «Виновата или Анфиса, или Диана.» Жора: «Это сделал кто-то из мальчиков.» Игорь: «Да это Жора откусил!» Из всех ребят правду сказали только двое. Кто же откусил кусок торта? Решение: Всего опросили 8 учеников в таком порядке: АБВГДЕЖИ. Подставим ответы к каждому из учеников, как если бы каждый из них был виноват в содеянном, где 0 – не правда, а 1 – правда. Получаем: Анфиса – АБВГДЕЖИ:01001100, Боря – АБВГДЕЖИ:01001010, Вова – АБВГДЕЖИ:10101000, Галя – АБВГДЕЖИ:01010000, Диана – АБВГДЕЖИ:01001100, Егор – АБВГДЕЖИ:01001010, Жора – АБВГДЕЖИ:01001011, Игорь – АБВГДЕЖИ:01001010. Из всех ответов только 2 оказались правдивыми. Единственный ученик, получивший 2 правдивых ответа – Галя, следовательно, она откусила кусок торта. Ответ: Галя Задача 2 Имеется небольшая программа, которая выполняет 2 команды: 1: добавляет к числу единицу 2: умножает число на f Последовательность команд 111211 преобразует число 64 в 203. Определите f, если известно, что f – натуральное число и f > 2. Решение: Дано число 64. По условию, набор команд имеет последовательность 111211, а на выходе получаем число 203. (64+1+1+1)*f+1+1=203; 67*f=201; f=201/67=3. Ответ: 3 Задача 3 Антону необходимо за полминуты передать файл весом 375 КБ. Передача осуществляется через ADSL-соединение со скоростью передачи 64000 бит/c. Успеет ли Антон передать файл вовремя? Решение: Переводим 375 КБ в биты: 375*8192=3072000 бит. За секунду передается 64000 бит: 3072000/64000=48 секунд будет длиться передача файла. 48>30 секунд, соответственно, Антон не успеет передать файл. Ответ: нет Задача 4 Дед Мороз получил письмо от Василия с пожеланием себе подарка на Новый Год. Послание имело такой вид: 111101011110100110100. К письму прилагалась расшифровка: О(01)Л(100)Р(101)К(111)Д(00)И(110), слово расшифровывается слева направо. Что хочет себе на Новый Год Василий? Решение: Подставляем расшифровку к посланию. 111101011110100110100: 11 – нет буквы, 111 – буква К, 101011110100110100: 10 – нет буквы, 101 – буква Р, 011110100110100: 01 – буква О, 011 – нет буквы, 1110100110100: 11 – нет буквы, 111 – буква К, 0100110100: 01 – буква О, 010 – нет буквы, 00110100: 00 – буква Д, 001 – нет буквы, 110100: 11 – нет буквы, 110 – буква И, 100: 10 – нет буквы, 100 – буква Л. Из полученной последовательности букв получаем слово КРОКОДИЛ. Ответ: Крокодил Задача 5 Дед Мороз решил ответить на письмо Василия и, используя двоичное представление чисел (с сохранением одного незначащего нуля в случае одноразрядного представления) для букв: М(0), О(1), Л(2), Т(3), К(4), закодировал слово МОЛОТОК. Зашифрованное слово Дед Мороз отправил восьмеричным кодом. Какое сообщение получил Василий? Решение: Представим данные числа в двоичном коде: М(0)=00, О(1)=01, Л(2)=10, Т(3)=11, К(4)=100. Для слова МОЛОТОК получаем шифр 000110011101100. Переводим шифр в десятичный код. А так как, восьмеричное представление совпадает с десятичным при разбиении шифра на тройки, получим 000 110 011 101 100 = 06354. Ответ: 06354 Больше полезной информации можно найти на нашем телеграм-канале «Библиотека программиста». Интересно, перейти к каналу
Решение логических задач не только улучшает ваше настроение, но и помогает в изучении языков программирования. Если вы пропустили предыдущую еженедельную подборку, найти ее можно по ссылке.
На новогоднем школьном утреннике кто-то проник в кабинет, где находился праздничный торт и варварски откусил от него большой кусок. Классный руководитель подозвал к себе детей, которые бегали по коридору рядом с местом преступления, и начал выяснять, кто же из них совершил акт вандализма. После разговора он получил такую цепочку ответов:
Анфиса: «Преступление совершил Вова!»
Боря: «Это неправда!»
Вова: «Я откусил!»
Галя: «Нет! Это я откусила!»
Диана: «Галя ни в чем не виновата!»
Егор: «Виновата или Анфиса, или Диана.»
Жора: «Это сделал кто-то из мальчиков.»
Игорь: «Да это Жора откусил!»
Из всех ребят правду сказали только двое. Кто же откусил кусок торта?
Решение: Всего опросили 8 учеников в таком порядке: АБВГДЕЖИ. Подставим ответы к каждому из учеников, как если бы каждый из них был виноват в содеянном, где 0 – не правда, а 1 – правда. Получаем: Анфиса – АБВГДЕЖИ:01001100, Боря – АБВГДЕЖИ:01001010, Вова – АБВГДЕЖИ:10101000, Галя – АБВГДЕЖИ:01010000, Диана – АБВГДЕЖИ:01001100, Егор – АБВГДЕЖИ:01001010, Жора – АБВГДЕЖИ:01001011, Игорь – АБВГДЕЖИ:01001010. Из всех ответов только 2 оказались правдивыми. Единственный ученик, получивший 2 правдивых ответа – Галя, следовательно, она откусила кусок торта. Ответ: Галя
Имеется небольшая программа, которая выполняет 2 команды:
1: добавляет к числу единицу
2: умножает число на f
Последовательность команд 111211 преобразует число 64 в 203. Определите f, если известно, что f – натуральное число и f > 2.
Решение: Дано число 64. По условию, набор команд имеет последовательность 111211, а на выходе получаем число 203. (64+1+1+1)*f+1+1=203; 67*f=201; f=201/67=3. Ответ: 3
Антону необходимо за полминуты передать файл весом 375 КБ. Передача осуществляется через ADSL-соединение со скоростью передачи 64000 бит/c. Успеет ли Антон передать файл вовремя?
Решение: Переводим 375 КБ в биты: 375*8192=3072000 бит. За секунду передается 64000 бит: 3072000/64000=48 секунд будет длиться передача файла. 48>30 секунд, соответственно, Антон не успеет передать файл. Ответ: нет
Дед Мороз получил письмо от Василия с пожеланием себе подарка на Новый Год. Послание имело такой вид: 111101011110100110100. К письму прилагалась расшифровка: О(01)Л(100)Р(101)К(111)Д(00)И(110), слово расшифровывается слева направо. Что хочет себе на Новый Год Василий?
Решение: Подставляем расшифровку к посланию. 111101011110100110100: 11 – нет буквы, 111 – буква К, 101011110100110100: 10 – нет буквы, 101 – буква Р, 011110100110100: 01 – буква О, 011 – нет буквы, 1110100110100: 11 – нет буквы, 111 – буква К, 0100110100: 01 – буква О, 010 – нет буквы, 00110100: 00 – буква Д, 001 – нет буквы, 110100: 11 – нет буквы, 110 – буква И, 100: 10 – нет буквы, 100 – буква Л. Из полученной последовательности букв получаем слово КРОКОДИЛ. Ответ: Крокодил
Дед Мороз решил ответить на письмо Василия и, используя двоичное представление чисел (с сохранением одного незначащего нуля в случае одноразрядного представления) для букв: М(0), О(1), Л(2), Т(3), К(4), закодировал слово МОЛОТОК. Зашифрованное слово Дед Мороз отправил восьмеричным кодом. Какое сообщение получил Василий?
Решение: Представим данные числа в двоичном коде: М(0)=00, О(1)=01, Л(2)=10, Т(3)=11, К(4)=100. Для слова МОЛОТОК получаем шифр 000110011101100. Переводим шифр в десятичный код. А так как, восьмеричное представление совпадает с десятичным при разбиении шифра на тройки, получим 000 110 011 101 100 = 06354. Ответ: 06354 Больше полезной информации можно найти на нашем телеграм-канале «Библиотека программиста». Интересно, перейти к каналу
Ваш адрес email не будет опубликован. Обязательные поля помечены *
Сохранить моё имя, email и адрес сайта в этом браузере для последующих моих комментариев.
Δ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.