Задание 5. ЕГЭ Информатика 2024. Новый разбор за 4 минуты! Двоичные преобразования
Готовься к ЕГЭ по информатике вместе со мной! Ссылка на курсы:
1. 1 - 23 задания: stepik.org/a/182421
2. 24 задание (строки): stepik.org/a/186616
3. 25 задание (теория чисел): stepik.org/a/186617
4. 26 задание: stepik.org/a/186618
5. 27 задание: stepik.org/a/189442
***
Python - ПОЛНЫЙ КУРС (часть 1): stepik.org/course/174852
Все курсы на Stepik: stepik.org/users/623224055
Тренажер ЕГЭ информатика "Правильные варианты": stepik.org/course/180838
***
Рекомендую подписаться на открытый канал. В нем обсуждаем сдачу ЕГЭ, поступление в вузы, а также там я в первую очередь делаю все анонсы: t.me/analitiqtutor
***
Прокачивай себя вместе со мной! Записаться на занятия можно здесь:
Написать в Telegram: t.me/analitiqq
Написать в ВК: analitiqvk
***
Теги: #егэ #информатика #егэ2024
***
Новый разбор задания 5 ЕГЭ по информатике 2024. Задание посвящено двоичным преобразованиям. Речь идет про перевод десятичного числа в двоичную систему счисления и выполнения операций над ним в этой системе счисления. Также в этом задании начали появляться другие виды преобразований, например троичные.
Пікірлер: 37
Код решения: def f(N): bN = bin(N)[2:] if N % 3 == 0: bN += bN[-3:] else: r = bin((N % 3) * 3)[2:] bN += r return int(bN, 2) for N in range(1, 300): R = f(N) if R > 151: print(R)
@Pichtion
2 ай бұрын
Самая простая и надёжная автоматизация def f(N): bN = bin(N)[2:] if N % 3 == 0: bN += bN[-3:] else: r = bin((N % 3) * 3)[2:] bN += r return int(bN, 2) M = 10000000 #Если ищете максимум, то с минусом for N in range(1, 300): R = f(N) if R > 151 and R M = R print(M)
@Faero2566
Ай бұрын
@@Pichtionно разве это всё также не выведет другие значения? Они же тоже попадают под критерий R
@Pichtion
Ай бұрын
@@Faero2566 нет, тк у нас должны выполняться два условия 1. R > 151 2. R Мы в Максимум (М) будем вписывать число меньше предыдущего, пока не дойдём к максимально приближенному к нижней границе. Таким образом мы найдём минимальное число.
Начинаем ЗАНИМАТЬСЯ!! УРА
@BruhHat
23 күн бұрын
ФАКТ
@ftx1416
23 күн бұрын
поддериваю
@rock_elf
23 күн бұрын
база
@blood7o
23 күн бұрын
да…
@Gor_The_Merc
23 күн бұрын
Туда их!
До ЕГЭ реально осталось немного.... меньше дня, надо готовиться
Здравствуйте, не подскажите в чем основные преимущества и различия ваших обучающих видео от платных и бесплатных курсов(ну у платных более менее понятно). Что лучше выбрать?
@analitiqtutor
4 ай бұрын
Мне кажется вы ответили уже на все в своем вопросе) Видео - это демонстрация задачи и быстрый ее повтор, если нужно будет подготовиться перед ЕГЭ или понять "про что" она. Курсы же дают полный план подготовки и рассмотрение всевозможных подтипов задач. Именно при таком формате можно добиться системного выполнения каждого из заданий. Поэтому ответ однозначный - полные курсы, а вот какие конкретно, выбираете исходя из текущего прогресса.
Для тех кому лень самому искать минимальное значение, вот код сортировки R def f(N): bN = bin(N)[2:] if N % 3 == 0: bN +=bN[-3:] else: r = bin((N % 3 ) * 3)[2:] bN += r return int(bN, 2) results = [] # Создаем список для хранения результатов for N in range(1, 300): R = f(N) if R > 151: results.append(R) # Добавляем результат в список results.sort() # Сортируем список по возрастанию for R in results: print(R)
А скажите, пожалуйста, в каком вузе вы обучались?
@analitiqtutor
4 ай бұрын
МГУ
Улучшенный код: def f(N): bN = bin(N)[2:] if N % 3 == 0: bN += bN[-3:] else: r = bin((N % 3) * 3)[2:] bN += r return int(bN, 2) nums = [] # создание массива for N in range(1, 300): R = f(N) if R > 151: nums.append(R) # добавление в массив print(min(nums)) #вывод минимального значения
Здравствуйте, зачем во 2-ой строке приписывается [2;0]? Для чего делается этот срез?
@analitiqtutor
2 ай бұрын
функция bin() в python выдает двоичную запись числа с двумя "лишними символами в начале", то есть bin(2) - это '0b10', мы их убираем, так как они нам не нужны
А это задание можно в ручную сделать? Надеюсь что на экзамене такое не попадется, а появится обычное которое можно сделать без кода
@analitiqtutor
24 күн бұрын
В целом можно, но сейчас дают преобразования и критерии для отбора такие, что руками перебирать будет сложно и долго. Но еще раз, зависит от задачи
А почему мы можем к конце двоичного числа прибавить другое с помощью +=?
@analitiqtutor
2 ай бұрын
для строк определена операция сложения. Так a = 'Hello', b = 'World' при сложении даст строку c = a + b == 'HelloWorld'
@Rinikadze
2 ай бұрын
@@analitiqtutor спасибо, я только щас понял что bin делает строчку
здравствуйте, а если автоматизировать, то какая будет программа?
@MrPardus-wj8pr
28 күн бұрын
def f(N): bN = bin(N)[2:] if N % 3 == 0: R = bN + bN[-3:] return int(R, 2) else: r = bin((N % 3) * 3)[2:] R = bN + r return int(R, 2) answer = [] for N in range(0, 300): if f(N) > 151: answer.append(f(N)) print(min(answer)) Я это сделал через список answer, в который закидываются все значения R больше 151, а позже с помощью встроенной функции min достается минимальное
Подскажите почему гарантируется что аргумент для искомого значения значения функции лежит в диапазоне от 0 до 300?
@analitiqtutor
Күн бұрын
@@urchmaks практически полученная оценка, как сказал в видео (если правильно помню) лучше, если вы получили ответ, еще подвигать эти границы
@urchmaks
Күн бұрын
@@analitiqtutor понятно, просто может же быть такая ситуация что искомое значение аргумента очень большое, например 10^100. Понимаю что если бы такое было, то метод бы не использовали, но все же хотелось бы иметь оценку интервала где гарантировано будет решение. Спасибо)
@analitiqtutor
Күн бұрын
@@urchmaks вообще говоря такой метод не может иметь обоснованной оценки, так как технически в каких-то заданиях может не быть такого отрезка А (не в ЕГЭ, а просто если составлять задания такого типа). По опыту диапазон нужно брать не менее максимального значения числового, которое встречается в формуле.
@urchmaks
Күн бұрын
@@analitiqtutor ну да, потому что если мы что то добавляем к числу оно сто процентов станет больше. В данном случае справа больше 151 брать нет смысла так как с него гарантировано выполняется условие потому что 151 плюс что-то в двоичной системе явно больше 151 так что ответ точно лежит на отрезке от нуля до 151.
до экза 3 часа, хватит?
Что за такие тяжолые обучения, даже на консультациях от учителя я понимаю совсем чуть чуть а у тебя нечего не понимаю
@MrPardus-wj8pr
28 күн бұрын
Как я понял это короткое решение на задачу, чтобы быстрее подготовиться/повторить материал к ЕГЭ, если нужен более подробный разбор, то найдите более полное видео. А так, если знаком с языком и набито мышление, то задача пустяковая