Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Номер 8 ЕГЭ Сумма цифр строки в Python #егэ #информатика #информатикаегэ
Базовый шаблон решения задачи:
def F(a, b):
"""
Args:
a - начало
b - конец перебора
Returns:
сумму траекторий от a до b
"""
if a > b or a == 11 or a == 12:
return 0
elif a == b:
return 1
else:
return F(a + 1, b) + F(a * 2, b)
print(F(2, 10) * F(10, 40))
Не понимаю, почему никто (из студентов) не использует такой вариант шаблона, он короче и проще:
def F(a, b):
if a >= b or a == 11 or a == 12:
return a == b
return F(a + 1, b) + F(a * 2, b)
print(F(2, 10) * F(10, 40))
if a >= b: return a==b
Если мы попали из начала в конец или превысили его, то вернем логическое тождество, которое возвращает True или False (1 и 0 для нашей суммы программ).
print(F(2, 10) * F(10, 40))
Гарантируем, что число 10 содержится в траектории
if a >= b or a == 11 or a == 12
Проверяем, что числа 11 и 12 не содержатся в траектории.
Информатика ЕГЭ | itpy
Поддержать автора: boosty
Please open Telegram to view this post
VIEW IN TELEGRAM
Пришла интересная идея! А что, если к интересным задачам добавлять «голосовые сообщения» с таймкодами при необходимости?
Через голосовое сообщение я смогу быстрее и понятнее объяснить суть задачи. Как вы думаете, будет ли это уместно?
Через голосовое сообщение я смогу быстрее и понятнее объяснить суть задачи. Как вы думаете, будет ли это уместно?
Anonymous Poll
75%
12%
14%
Please open Telegram to view this post
VIEW IN TELEGRAM
Как правильно разбить столбец зависимых процессов для корректоного составления таблицы.
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Простое решение 23 номера ЕГЭ по информатике #егэ #информатика #информатикаегэ
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: (Е.Джобс)
Уровень: Средний
Сколько пар символов в строке являются симметричными? Симметричной парой называют такие два символа, которые расположены на одинаковом удалении от концов строки.
s = open('24.txt').readline()
cnt = 0
for i in range(len(s) // 2):
if s[i] == s[-1-i]:
print(s[i], s[-1-i])
cnt += 1
print(cnt)
# Ответ: 19100
s = open('24.txt').readline()
Чтение строки из файла "24.txt" и помещение этой строки в переменную s.
cnt = 0
Инициализация переменной cnt для подсчета количества пар символов, которые совпадают в строке.
for i in range(len(s) // 2):
Цикл for, который проходит по половине длины строки s. Это делается для сравнения символов симметрично относительно центра строки.
if s[i] == s[-1-i]:
Проверка условия: если символ на позиции i равен символу на позиции -1-i (то есть симметрично расположенные символы равны).
print(s[i], s[-1-i])
Вывод на экран пары символов, которые совпадают симметрично.
cnt += 1
Увеличение счетчика cnt на 1 при каждом совпадении пары символов.
print(cnt)
Вывод общего количества пар совпадающих символов в строке.
В голосовом оставлю мини-комментарий к коду решения этой программы
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Ссылка на вариант: Шастин вариант
Так же оставлю тут ссылку на полный разбор от автора: ссылка на YouTube
Особенно хочется отметить номера:
🚩 - забавное условие с "поменять местами элементы"🚩 - ситуация с фигурами может запутать🚩 - лайтовый, но просто кайфовый прототип🚩 - чётность всех соседних различна🚩 🚩 - интересное условие с пропущенным числом в маске🚩 🚩 - интересная задача с p-ой системой счисления🚩 🚩 - проверить сумму цифр строки у элементов тройки🚩 🚩 - классная задача с угловыми клетками🚩 🚩 - хардовый уровень на подумать
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Poll
2%
Я учусь в школе < 9 класса
2%
Учусь в 9 классе
14%
Учусь в 10 классе
59%
Учусь в 11 классе
8%
Студент 1-4 курс
9%
Репетитор/Педагог
2%
Родитель
4%
Просто неравнодушный
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: А. Брейк
Уровень: Сложный
1. Вычесть 1
2. Вычесть 2
3. Извлечь корень
Третья команда — извлекает из числа квадратный корень, если число является квадратом любого числа.
Сколько различных результатов можно получить из числа 113 в ходе программы, содержащей 17 команд?
Обратите внимание, что просят найти кол-во команд!
from functools import *
my_set = set()
@lru_cache(None)
def F(x, c):
if c == 17:
my_set.add(x)
return 0
if x > 0:
if round(x**0.5) == x**0.5:
return F(x - 1, c + 1) + F(x - 2, c + 1) + F(x ** 0.5, c + 1)
return F(x-1, c+1) + F(x-2, c+1)
F(113, 0)
print(len(my_set))
# Ответ: 6537515
from functools import *
Импорт всех функций из модуля.
my_set = set()
Создание пустого множества my_set, которое будет использоваться для хранения уникальных значений.
@lru_cache(None)
Декоратор для кеширования результатов выполнения функции. None означает, что будет использоваться неограниченный кеш.
def F(x, c):
Объявление функции F, которая принимает два аргумента: x и c.
if c == 17:
Проверка условия: если c равно 17.
my_set.add(x)
Добавление значения x в множество my_set.
return 0
Конец выполнения функции для определенного значения c.
if x > 0:
Проверка условия: если x больше нуля.
if round(x**0.5) == x**0.5:
Проверка условия: если квадратный корень числа x является целым числом.
return F(x - 1, c + 1) + F(x - 2, c + 1) + F(x ** 0.5, c + 1)
Рекурсивный вызов функции с различными параметрами в зависимости от условий.
return F(x-1, c+1) + F(x-2, c+1)
Рекурсивный вызов функции F с измененными параметрами.
F(113, 0)
Вызов функции F с начальными значениями.
print(len(my_set))
Вывод количества уникальных элементов в множестве.
Аудио мини-комментарий к коду решения оставлю в комментариях
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Как пользоваться встроенной функцией ВПР (VLOOKUP) в Excel. Очень полезная функция, так как она пригодится и в 22 номере
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: М. Ишимов
Уровень: Средний
Сеть, в которой содержится узел с IP-адресом 246.51.128.202, задана маской сети 255.255.A.0, где A - некоторое допустимое для записи маски число.
Определите минимальное значение A, для которого для всех IP-адресов этой сети в двоичной записи IP-адреса количество нулей в левых двух байтах не более количества нулей в правых двух байтах.
Аудио с пояснением к коду решения оставлю в комментариях.
👩💻 Код решения:
from ipaddress import *
for A in [0, 128, 192, 224, 240, 248, 252, 254, 255]:
net = ip_network(f'246.51.128.202/255.255.{A}.0', 0)
if all(f'{ip:b}'[:16].count('0') <= f'{ip:b}'[16:].count('0') for ip in net):
print(A)
break
# Ответ: 254
from ipaddress import *
Импортируются все функции из модуля ipaddress.
for A in [0, 128, 192, 224, 240, 248, 252, 254, 255]:
Цикл for перебирает значения из списка [0, 128, 192, 224, 240, 248, 252, 254, 255], присваивая каждое значение переменной A.
net = ip_network(f'246.51.128.202/255.255.{A}.0', 0)
Создается объект net, представляющий сеть IPv4 с помощью вызова функции ip_network. IP-адрес задается как 246.51.128.202, маска подсети формируется с помощью строки 255.255.{A}.0.
if all(f'{ip:b}'[:16].count('0') <= f'{ip:b}'[16:].count('0') for ip in net):
Выполняется условие, в котором проверяется, что для каждого IP-адреса в сети net количество битов, равных 0, в первых 16 битах меньше или равно количеству битов, равных 0, в оставшихся битах.
print(A)
Если условие выполняется, то выводится значение переменной A.
break
Выполняется прерывание цикла, так что после вывода значения переменной A программа завершает выполнение.
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Кто-то использует аудио-разбор в комментариях? Стоит ли продолжать предоставлять такой контент? 🤔
Anonymous Poll
36%
Да, удобно, когда нет возможности долго читать
30%
Нет, мне достаточно текстового разбора
15%
Нет, лучше записывать мини-видео
9%
Да, но я бы хотел видеть эти аудио в основной ленте канала
9%
Что такое аудио-разбор 🫡
This media is not supported in your browser
VIEW IN TELEGRAM
Данные функции встречаются при решении практически каждого (пайтон) номера ЕГЭ, но особенно будут полезны для номеров: 9 и 17.
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Апробация1 15.05.pdf
17.4 MB
На канале @infkege Марат и Лёня уже собрали вариант с сегодняшней апробации, сходства есть, это подтвердили некоторые мои подписчики. #useful
Ответы прикреплю в комментариях к этому посту👇
Информатика ЕГЭ | itpy👨💻
Тут отвечают на вопросы❔
Ответы прикреплю в комментариях к этому посту
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM