Задание 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

  • @analitiqtutor
    @analitiqtutor4 ай бұрын

    Код решения: 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

    @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

    @Faero2566

    Ай бұрын

    ​​@@Pichtionно разве это всё также не выведет другие значения? Они же тоже попадают под критерий R

  • @Pichtion

    @Pichtion

    Ай бұрын

    @@Faero2566 нет, тк у нас должны выполняться два условия 1. R > 151 2. R Мы в Максимум (М) будем вписывать число меньше предыдущего, пока не дойдём к максимально приближенному к нижней границе. Таким образом мы найдём минимальное число.

  • @frintv179
    @frintv17923 күн бұрын

    Начинаем ЗАНИМАТЬСЯ!! УРА

  • @BruhHat

    @BruhHat

    23 күн бұрын

    ФАКТ

  • @ftx1416

    @ftx1416

    23 күн бұрын

    поддериваю

  • @rock_elf

    @rock_elf

    23 күн бұрын

    база

  • @blood7o

    @blood7o

    23 күн бұрын

    да…

  • @Gor_The_Merc

    @Gor_The_Merc

    23 күн бұрын

    Туда их!

  • @theoutrider4479
    @theoutrider447922 күн бұрын

    До ЕГЭ реально осталось немного.... меньше дня, надо готовиться

  • @vanile_1379
    @vanile_13794 ай бұрын

    Здравствуйте, не подскажите в чем основные преимущества и различия ваших обучающих видео от платных и бесплатных курсов(ну у платных более менее понятно). Что лучше выбрать?

  • @analitiqtutor

    @analitiqtutor

    4 ай бұрын

    Мне кажется вы ответили уже на все в своем вопросе) Видео - это демонстрация задачи и быстрый ее повтор, если нужно будет подготовиться перед ЕГЭ или понять "про что" она. Курсы же дают полный план подготовки и рассмотрение всевозможных подтипов задач. Именно при таком формате можно добиться системного выполнения каждого из заданий. Поэтому ответ однозначный - полные курсы, а вот какие конкретно, выбираете исходя из текущего прогресса.

  • @user-og6ws9sl8l
    @user-og6ws9sl8l23 күн бұрын

    Для тех кому лень самому искать минимальное значение, вот код сортировки 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)

  • @user-qd7cf9vk3m
    @user-qd7cf9vk3m4 ай бұрын

    А скажите, пожалуйста, в каком вузе вы обучались?

  • @analitiqtutor

    @analitiqtutor

    4 ай бұрын

    МГУ

  • @blayz1k
    @blayz1k26 күн бұрын

    Улучшенный код: 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)) #вывод минимального значения

  • @foxterrr3080
    @foxterrr30802 ай бұрын

    Здравствуйте, зачем во 2-ой строке приписывается [2;0]? Для чего делается этот срез?

  • @analitiqtutor

    @analitiqtutor

    2 ай бұрын

    функция bin() в python выдает двоичную запись числа с двумя "лишними символами в начале", то есть bin(2) - это '0b10', мы их убираем, так как они нам не нужны

  • @chebur4415
    @chebur441524 күн бұрын

    А это задание можно в ручную сделать? Надеюсь что на экзамене такое не попадется, а появится обычное которое можно сделать без кода

  • @analitiqtutor

    @analitiqtutor

    24 күн бұрын

    В целом можно, но сейчас дают преобразования и критерии для отбора такие, что руками перебирать будет сложно и долго. Но еще раз, зависит от задачи

  • @Rinikadze
    @Rinikadze2 ай бұрын

    А почему мы можем к конце двоичного числа прибавить другое с помощью +=?

  • @analitiqtutor

    @analitiqtutor

    2 ай бұрын

    для строк определена операция сложения. Так a = 'Hello', b = 'World' при сложении даст строку c = a + b == 'HelloWorld'

  • @Rinikadze

    @Rinikadze

    2 ай бұрын

    @@analitiqtutor спасибо, я только щас понял что bin делает строчку

  • @shizukaame2544
    @shizukaame2544Ай бұрын

    здравствуйте, а если автоматизировать, то какая будет программа?

  • @MrPardus-wj8pr

    @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 достается минимальное

  • @urchmaks
    @urchmaksКүн бұрын

    Подскажите почему гарантируется что аргумент для искомого значения значения функции лежит в диапазоне от 0 до 300?

  • @analitiqtutor

    @analitiqtutor

    Күн бұрын

    @@urchmaks практически полученная оценка, как сказал в видео (если правильно помню) лучше, если вы получили ответ, еще подвигать эти границы

  • @urchmaks

    @urchmaks

    Күн бұрын

    @@analitiqtutor понятно, просто может же быть такая ситуация что искомое значение аргумента очень большое, например 10^100. Понимаю что если бы такое было, то метод бы не использовали, но все же хотелось бы иметь оценку интервала где гарантировано будет решение. Спасибо)

  • @analitiqtutor

    @analitiqtutor

    Күн бұрын

    @@urchmaks вообще говоря такой метод не может иметь обоснованной оценки, так как технически в каких-то заданиях может не быть такого отрезка А (не в ЕГЭ, а просто если составлять задания такого типа). По опыту диапазон нужно брать не менее максимального значения числового, которое встречается в формуле.

  • @urchmaks

    @urchmaks

    Күн бұрын

    @@analitiqtutor ну да, потому что если мы что то добавляем к числу оно сто процентов станет больше. В данном случае справа больше 151 брать нет смысла так как с него гарантировано выполняется условие потому что 151 плюс что-то в двоичной системе явно больше 151 так что ответ точно лежит на отрезке от нуля до 151.

  • @bedlam4961
    @bedlam496111 күн бұрын

    до экза 3 часа, хватит?

  • @kasker430
    @kasker430Ай бұрын

    Что за такие тяжолые обучения, даже на консультациях от учителя я понимаю совсем чуть чуть а у тебя нечего не понимаю

  • @MrPardus-wj8pr

    @MrPardus-wj8pr

    28 күн бұрын

    Как я понял это короткое решение на задачу, чтобы быстрее подготовиться/повторить материал к ЕГЭ, если нужен более подробный разбор, то найдите более полное видео. А так, если знаком с языком и набито мышление, то задача пустяковая

Келесі