Информатика | Илья Андрианов | itpy 🧑‍💻
1.04K subscribers
264 photos
20 videos
19 files
631 links
По рекламе: @ilandroxxy

Шпаргалки: clck.ru/3FwqWt
📚 Наши курсы: clck.ru/3FwqYb

Разборы: clck.ru/3Fwqay
💬 Чатик: clck.ru/3FwqZa

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 34537 #reshu по информатике #ЕГЭ15

✏️ Полный разбор задачи в Notion

Заметили, что задачи 15 номера с отрезками вызывают сложности у студентов. Однако, РЕШУ ЕГЭ не рекомендует использовать метод перебора для их решения, что является категорически неверным. Мы представляем универсальный вариант решения, который может быть полезен.😼

В рамках обсуждения также рассмотрим задачу, в которой используется функция all().

👩‍💻 Код решения:
def F(x, a1, a2):
P = 10 <= x <= 15
Q = 10 <= x <= 20
R = 5 <= x <= 15
A = a1 <= x <= a2
return (A <= P) == (Q <= R)


R = []
M = [x / 4 for x in range(5 * 4, 20 * 4)]
for a1 in M:
for a2 in M:
if all(F(x, a1, a2) for x in M):
R.append(a2 - a1)

print(min(R))


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍10444
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 39241 #reshu по информатике #ЕГЭ12

Полный разбор задачи в Notion

Задачка 12 номера с сайте Решу ЕГЭ. Интересна она благодаря условию: "После выполнения программы получилась строка, содержащая только двойки".

👩‍💻 Код решения:
for n in range(201, 1000):
s = '1' * n
while '111' in s or '222' in s:
s = s.replace('111', '22', 1)
s = s.replace('222', '1', 1)
if len(s) == s.count('2'):
print(n)
break


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍98
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 35981 #reshu по информатике #ЕГЭ7

✏️ Полный разбор задачи в Notion

Да 7 номер ЕГЭ принято считать полностью письменной задачей, но мы предлагаем воспользоваться Питоном в качестве калькулятор и решить интересную задачу с Решу ЕГЭ.

👩‍💻 Код решения:
I = (16 * 2 ** 23) / 32  
I = I - (128 * 2**13)
I = I * 8
i = I / (2048 * 1536)
Colors = 2 ** i
print(f"Цветов использовано в палитре: {Colors}")


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
1198👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 59794 #reshu по информатике #ЕГЭ24

Полный разбор задачи в Notion

👩‍💻 Код решения:
s = open('24.txt').readline()
s = s.split('U')
mini = 999999
for i in range(len(s)-108):
r = 'U'.join(s[i:i+109])
mini = min(mini, len(r))
print(mini + 2)


Файлы к заданию: 24.txt

#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
10105🤩2
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 60266 #reshu по информатике #ЕГЭ24

Полный разбор задачи в Notion

👩‍💻 Код решения:
s = open('24.txt').readline().split('T')
maxi = 0
for i in range(len(s)-100):
r = 'T'.join(s[i:i+101])
maxi = max(maxi, len(r))
print(maxi)


Файлы к заданию: 24.txt

#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
776👏2
👩‍💻 Рисование и управление экраном в Turtle: down(), up(), dot(), screensize(), tracer(), done() #tpy

🚩 Функция down() опускает перо черепахи, позволяя ей рисовать на экране.
import turtle as t
t.down()
t.forward(100)
t.done()


🚩 Функция up() поднимает перо черепахи, останавливая рисование.
import turtle as t
t.down()
t.forward(100)
t.up()
t.forward(50)
t.done()


🚩 Функция dot(size, color) рисует точку заданного размера (size) и цвета (color) в текущей позиции черепахи.
import turtle as t
t.dot(10, "red")
t.done()


🚩 Функция screensize(width, height) устанавливает размеры экрана в пикселях. Это определяет размер доступной области для рисования.
import turtle as t
t.screensize(800, 600)
t.done()


🚩 Функция tracer(n, delay) управляет скоростью отрисовки черепахи. n задает количество шагов отрисовки, а delay - задержку между шагами.
import turtle as t
t.tracer(3, 100)
t.done()


🚩 Функция done() ожидает закрытия окна черепахи перед окончанием программы.
import turtle as t
t.done()


Эти функции помогают управлять рисованием и настройками экрана при работе с библиотекой Turtle в Python.

Информатика ЕГЭ | itpy
👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👏886
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 5911 #reshu по информатике #ЕГЭ13

🚩 Условие задачи:
По заданным IP-адресу узла и маске определите адрес сети.
IP-адрес узла: 129.131.130.64
Маска: 255.255.192.0


🚩 Теоретическая справка:
Простейшая задача 13 номера с которой стоит начать изучение этих задач. Главная формула:
Адрес сети = Адрес узла & Маска сети
где & - это операция побитовой конъюнкции.


👩‍💻 Код решения:
from ipaddress import *  
net = ip_network('129.131.130.64/255.255.192.0', 0)
print(net) # 129.131.128.0/18


👩‍💻 Комментарии к коду решения:

1⃣ from ipaddress import *
Импорт всех функций из модуля ipaddress для работы с сетевыми адресами.


2⃣ net = ip_network('129.131.130.64/255.255.192.0', 0)
Создание объекта сети net с заданным IP-адресом и маской подсети, причем последний аргумент указывает на коррекцию префикса.


3⃣ print(net)
Вывод объекта сети net.


4⃣ # 129.131.128.0/18
Комментарий, указывающий на правильность адресации объекта сети: IP-адрес 129.131.128.0 с маской /18.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
8654
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 7696 #reshu по информатике #ЕГЭ13

🚩 Условие задачи:
Для узла с IP-адресом 224.128.112.142 адрес сети равен 224.128.96.0.
Чему равен третий слева байт маски? Ответ запишите в виде десятичного числа.


🚩 Теоретическая справка:
Маска сети имеет длину 32 бита и вид 1111..000 (сначала единицы, потом нули). Поэтому мы можем перебрать ее значения через for mask in range(32+1):


👩‍💻 Код решения:
from ipaddress import *
for mask in range(32+1):
net = ip_network(f'224.128.112.142/{mask}', 0)
if str(net) == f'224.128.96.0/{mask}':
print(str(net.netmask).split('.')[2])


👩‍💻 Комментарии к коду:

1⃣ from ipaddress import *
Импорт всех функций из модуля ipaddress для работы с сетевыми адресами.


2⃣ Цикл for mask in range(32+1):
Для перебора возможных значений маски сети от 0 до 32 (включительно).


3⃣ net = ip_network(f'224.128.112.142/{mask}', 0)
Создание объекта сети net с заданным IP-адресом и переменной маской подсети, где последний аргумент указывает на коррекцию префикса.


4⃣ if str(net) == f'224.128.96.0/{mask}':
Условие проверки соответствия адреса сети определенному значению.


5⃣print(str(net.netmask).split('.')[2])
Вывод третьего октета маски подсети из объекта сети net, если условие выполнено.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
7643
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 39243 #reshu по информатике #ЕГЭ14
Уровень: Базовый

🚩 Условие задачи:
Значение выражения 4**34 + 5 * 4**22 + 4**13 + 2 * 4**9 + 82 записали в системе счисления с основанием 16. Сколько разных цифр встречается в этой записи?


🚩 Теоретическая справка:
Функция hex() является встроенной функцией в Python, которая используется для преобразования целого числа в строку, содержащую его шестнадцатеричное представление.


👩‍💻 Код решения 1:
print(len(set(hex(4**34 + 5*4**22 + 4**13 + 2*4**9 + 82)[2:])))


👩‍💻 Код решения 2:
x = 4**34 + 5*4**22 + 4**13 + 2*4**9 + 82
s = []
while x > 0:
s.append(x % 16)
x //= 16
print(len(set(s)))

# Ответ: 6


👩‍💻 Комментарии к коду:

1⃣ x = 4**34 + 5*4**22 + 4**13 + 2*4**9 + 82
В этой строке расчитывается значение переменной x с помощью сложных математических операций.


2⃣ s = []
Создается пустой список s, который будет использоваться для хранения результатов вычислений.


3⃣ while x > 0:
Запускается цикл while, который будет выполняться до тех пор, пока переменная x больше нуля.


4⃣ s.append(x % 16)
Добавляется остаток от деления переменной x на 16 в список s. Это делается для перевода числа в шестнадцатеричную систему счисления.

5⃣ x //= 16
Значение переменной x делится на 16 с использованием целочисленного деления, чтобы продолжить процесс перевода числа в шестнадцатеричную систему.


6⃣ print(len(set(s)))
Выводится длина множества уникальных значений списка s, что позволяет определить количество различных цифр, используемых в представлении числа x в шестнадцатеричной системе.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
854
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 48385 #reshu по информатике #14
Уровень: Базовый

🚩 Условие задачи:
Операнды арифметического выражения записаны в системах счисления с основаниями 13 и 18:

8x78y_13 + 79xy7_18

Определите значения x и y, при которых значение данного выражения будет наименьшим и кратно 9. Для найденных значений x и y вычислите частное от деления.


🚩 Теоретическая справка:
Строчку alphbet можно записать иначе:
from string import *
alphabet = digits + ascii_uppercase


👩‍💻 Код решения:
alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
R = []
for x in alphabet[:13]:
for y in alphabet[:13]:
A = int(f'8{x}78{y}', 13)
B = int(f'79{x}{y}7', 18)
if (A + B) % 9 == 0:
R.append((A + B) // 9)
print(min(R))

# Ответ: 113024


👩‍💻 Комментарии к коду:

1⃣ alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
Создается отсортированный список alphabet, содержащий цифры от 0 до 9 и буквы английского алфавита в верхнем регистре.


2⃣ R = []
Создается пустой список R, в который будут добавляться результаты, удовлетворяющие условию задачи.


3⃣ for x in alphabet[:13]:
Запускается цикл for, перебирающий элементы alphabet до 13-го (не включительно) и присваивающий их переменной x.


4⃣ for y in alphabet[:13]:
Запускается вложенный цикл for, перебирающий элементы alphabet до 13-го (не включительно) и присваивающий их переменной y.


5⃣ A = int(f'8{x}78{y}', 13)
Формируется число A, которое получается из конкатенации строк, представляющих числа в строке, и преобразуется в десятичное число по основанию 13.


6⃣ B = int(f'79{x}{y}7', 18)
Формируется число B, которое получается аналогично число A, но преобразуется в десятичное число по основанию 18.


7⃣ if (A + B) % 9 == 0:
Проверяется условие, что сумма чисел A и B делится на 9 без остатка.


8⃣ R.append((A + B) // 9)
Если условие выполняется, результат деления суммы A и B на 9 добавляется в список R.


0⃣ print(min(R))
Выводится минимальное значение из списка R, которое является ответом на задачу.


Информатика ЕГЭ | itpy 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
9665
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 15947 #reshu по информатике #ЕГЭ8
Уровень: Базовый

🚩 Условие задачи:
Все четырёхбуквенные слова, составленные из букв А, Л, Г, О, Р, И, Т, М, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Начало списка выглядит так:
1. АААА
2. АААГ
3. АААИ
4. АААЛ

Под каким номером в списке идёт первое слово, которое начинается с букв ИГ?


🚩 Теоретическая справка:
Функция sorted() позволяет легко получить алфавитный порядок. А оператор break позволяет остановиться на первом слове.


👩‍💻 Код решения:
from itertools import product
k = 0
for s in product(sorted('АЛГОРИТМ'), repeat=4):
word = ''.join(s)
k += 1
if word[:2] == 'ИГ':
print(k)
break


👩‍💻 Комментарии к коду:

1⃣ from itertools import product
Импортируется функция product из модуля itertools, которая генерирует декартово произведение итерабельных объектов.


2⃣ k = 0
Инициализируется переменная k, которая будет использоваться для отслеживания количества итераций.


3⃣ for s in product(sorted('АЛГОРИТМ'), repeat=4):
Запускается цикл for, в котором производится комбинация символов из отсортированной строки 'АЛГОРИТМ' с повторением в 4 раза.


4⃣ word = ''.join(s)
Создается строка word, объединяя символы из текущей комбинации s.


5⃣ k += 1
Увеличивается счетчик k на 1 для подсчета количества итераций.


6⃣ if word[:2] == 'ИГ':
Проверяется, начинается ли текущее слово word с символов 'ИГ'.


7⃣ print(k)
Если условие выполняется, то выводится значение счетчика k.


8⃣ break
Происходит прерывание цикла после печати значения счетчика для первого слова, начинающегося с 'ИГ'.


👩‍💻 Альтернативное решение:
s = sorted('АЛГОРИТМ')
k = 0
for a in s:
for b in s:
for c in s:
for d in s:
word = a + b + c + d
k += 1
if word[:2] == 'ИГ':
print(k)
exit()


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
1064
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 18289 #reshu по информатике #ЕГЭ23
Уровень: Средний


Задач из ОГЭ, 5 номер, но считаю её весьма полезной, так как это усложненная вариация 23 номера ЕГЭ.

🚩 Условие задачи:
1. раздели на 2
2.  вычти 1

Составьте алгоритм получения из чиcла 65 числа 4, содержащий не более 5 команд. В ответе запишите только номера команд.


🚩 Теоретическая справка:
Аудио с пояснением к коду решения оставлю в комментариях.


👩‍💻 Код решения:
def F(a, b, t):
if a < b or len(t) > 5:
return 0
elif a == b and len(t) <= 5:
print(t)
return 1
else:
return F(a / 2, b, t+'1') + F(a-1, b, t+'2')

F(65, 4, '')

# Ответ: 21111


👩‍💻 Комментарии к коду:

1⃣ def F(a, b, t):
Определение функции F с тремя параметрами a, b, и t.


2⃣ if a < b or len(t) > 5:
Проверка условия: если a меньше b или длина строки t превышает 5 символов.


3⃣ return 0
Возврат значения 0, если условие из пункта 2 истинно.


4⃣ elif a == b and len(t) <= 5:
Другое условие: если a равно b и длина строки t не превышает 5 символов.


5⃣ print(t)
Вывод текущего состояния строки t.


6⃣ return 1
Возврат значения 1, если условие из пункта 4 истинно.


7⃣ else:
В случае, если ни одно из вышеперечисленных условий не выполнено.


8⃣ return F(a / 2, b, t+'1') + F(a-1, b, t+'2')
Рекурсивный вызов функции F с различными значениями аргументов: для первого вызова a уменьшается вдвое и к строке t добавляется символ '1', для второго вызова a уменьшается на 1, к строке t добавляется символ '2'.


0⃣ F(65, 4, '')
Вызов функции F с начальными значениями a=65, b=4, и пустой строкой t.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
854
🔤🔤🔤🔤 🔤🔤🔤🔤🔤🔤🔤🔤🔤
Пару слов об авторе канала, давайте знакомиться!

#⃣ Полный список разборов в одном месте
#⃣ Шпаргалки по всем номерам ЕГЭ
#⃣ Вся теория для ЕГЭ в одном месте

📱 Теория: #tpy
📺 Видео: #view
💡 Полезное: #useful
🫰 Шпаргалки: #шпора
👨‍🏫 Про универы: #university

📚 Сборники:
#kege #yandex
#reshu #statgrad
#polyakov

📱 Наш YouTube канал
📱 Читайте ДЗЕН канал
📱 Наши Telegram каналы:

🚩 Подготовка к экзамену ЕГЭ:
Информатика ЕГЭ | itpy 👨‍💻

🚩 Здесь выкладываю теорию Python:
Программирование на Python | itpy 💻

🚩 Подготовка к экзамену ОГЭ:
Информатика ОГЭ | itpy 👨‍🏫

🚩 Честные обзоры на IT университеты:
Hey Student! 🎓


🔤🔤 🔤🔤🔤🔤🔤🔤🔤
😶 Автор канала: @ilandroxxy
Please open Telegram to view this post
VIEW IN TELEGRAM
45542
У нас уже собралась неплохая такая подборка 8 номеров, сохраняем и пользуемся! #ЕГЭ8 #useful


🚩 Разбор номера 17671 #kege по информатике #ЕГЭ8
Автор: Пересдача 04.07.2024
Уровень: Базовый


🚩 Разбор номера 17627 #kege по информатике #ЕГЭ8
Автор: Резервный день 19.06.2024
Уровень: Базовый


🚩 Разбор номера 5626 #kege по информатике #ЕГЭ8

🚩 Разбор номера 8417 #kege по информатике #ЕГЭ8

🚩 Разбор номера 15947 #reshu по информатике #ЕГЭ8
Уровень: Базовый

🚩 Разбор номера 4199 #polyakov по информатике #ЕГЭ8
Уровень: Сложный

🚩 Разбор номера 12917 #kege по информатике #ЕГЭ8
Автор: PRO100ЕГЭ
Уровень:
Базовый

🚩 Разбор номера из нового варианта #statgrad по информатике #ЕГЭ8
Автор: Статград
Уровень: Базовый


🚩 Разбор номера 11827 #kege по информатике #ЕГЭ8
Автор: (Л. Шастин)
Уровень: Средний


🚩 Разбор номера 10090 #kege по информатике #ЕГЭ8
Уровень: Базовый


🚩 Разбор номера 12240 #kege по информатике #ЕГЭ8
Уровень:
Базовый

🚩 Разбор номера 11827 #kege по информатике #ЕГЭ8
Автор: (Л. Шастин)
Уровень: Средний


🚩 Разбор номера 17521 #kege по информатике #ЕГЭ8
Автор: Основная волна 07.06.24
Уровень: Базовый


🚩 Разбор номера 17862 #kege по информатике #ЕГЭ8
Автор: Демоверсия 2025
Уровень: Базовый


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
843
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 7667 #reshu по информатике #ЕГЭ8
Автор: РЕШУ ЕГЭ
Уровень: Базовый


🚩 Условие задачи:
Сколько слов длины 5, начинающихся с гласной буквы, можно составить из букв Е, Г, Э? Каждая буква может входить в слово несколько раз.


🚩 Теоретическая справка:
Крайне интересная задача, так как позволяет представить вот такое простое и эстетичное решение. Стандартное решение я постараюсь приложить в комментариях к этому посту.


👩‍💻 Код решения:
from itertools import product
print([slovo[0] in 'ЕЭ' for slovo in product('ЕГЭ', repeat=5)].count(True))

# Ответ: 162


👩‍💻 Комментарии к коду:

1⃣ from itertools import product
Импортируем функцию product из модуля itertools, которая позволяет генерировать декартово произведение итераторов.


2⃣ print([slovo[0] in 'ЕЭ' for slovo in product('ЕГЭ', repeat=5)]
В генераторе мы пробегаем все получившиеся слова через функцию product и если первый элемент слова является буквами Е или Э, то в список будет падать bool значение True.


3⃣ .count(True))
Считаем количество истинных значений (True) в полученном списке и выводим это значение на экран.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
3644
🚩 Сохраняйте список уже разобранных задачи на нашем канале #ЕГЭ15 #useful

🚩🚩 Разбор номера 16447 #kege по информатике #ЕГЭ15

🚩🚩 Разбор номера 34537 #reshu по информатике #ЕГЭ15

🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ15
Автор: Статград
Уровень:
Сложный

🚩🚩 Разбор номера 12924 #kege по информатике #ЕГЭ15
Уровень: Базовый


🚩🚩 Разбор номера 16381 #kege по информатике #ЕГЭ15
Автор: ЕГКР 27.04.24
Уровень: Базовый


🚩🚩 Разбор номера 8503 #kege по информатике #ЕГЭ15
Автор: Апробация 17.05
Уровень: Базовый


👨‍💻 Наша подборка Stepik задач №15 для подготовки #ЕГЭ9 #useful
1. Домашка, задачи базового уровня (ФИПИ)
2. Практика, задачи повышенной сложности

Информатика ЕГЭ | itpy 🧑‍💻
Кстати у нас есть чатик
Please open Telegram to view this post
VIEW IN TELEGRAM
48542
🚩 Сохраняйте список уже разобранных задачи на нашем канале #ЕГЭ14 #useful

Наша подборка Stepik задач №14 для подготовки 👨‍💻
1. Домашка, задачи базового уровня (ФИПИ)
2. Практика, задачи повышенной сложности

🚩🚩 Разбор номера 8425 #kege по информатике #ЕГЭ14

🚩🚩 Разбор номера 39243 #reshu по информатике #ЕГЭ14
Уровень: Базовый

🚩🚩 Разбор номера 13246 #kege по информатике #ЕГЭ14
Автор задачи: (М. Попков)
Уровень: Средний

🚩🚩 Разбор номера 5895 #kege по информатике #ЕГЭ14
Автор задачи: (А. Игнатюк)
Уровень: Сложный

🚩🚩 Разбор номера 4937 #kege по информатике #ЕГЭ14
Уровень: Средний

🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ14
Автор: Статград
Уровень:
Средний

🚩🚩 Разбор номера 16261 #kege по информатике #ЕГЭ14
Автор: Е.Джобс
Уровень: Базовый

🚩🚩 Разбор номера 13910 #kege по информатике #ЕГЭ14
Автор: Л. Шастин
Уровень: Базовый

🚩🚩 Разбор номера 17870 #kege по информатике #ЕГЭ14
Автор: Демоверсия 2025
Уровень: Базовый


🚩🚩 Разбор номера 17868 #kege по информатике #ЕГЭ14
Автор: Демоверсия 2025
Уровень: Базовый


Информатика ЕГЭ | itpy 🧑‍💻
Кстати у нас есть чатик
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥5🔥2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 45258 #reshu по информатике #ЕГЭ24
Автор: Решу ЕГЭ
Уровень: Базовый


🚩 Условие задачи:
Определите максимальное количество идущих подряд пар символов AB или CB в прилагаемом файле.

Искомая подпоследовательность должна состоять только из пар AB, или только из пар CB, или только из пар AB и CB в произвольном порядке следования этих пар.


🚩 Теоретическая справка:
Этот номер очень удобно решается через замену всех "лишних" элементов.


👩‍💻 Код решения:
s = open('files/24.txt').readline()
s = s.replace('AB', '*').replace('CB', '+')

for x in 'ABC':
s = s.replace(x, ' ')

print(max([len(x) for x in s.split()]))
print(len(max(s.split(), key=len)))

# Ответ: 65


👩‍💻 Комментарии к коду:

1⃣ s = open('files/24.txt').readline()
- Открывает файл с именем 'files/24.txt' и читает первую строку из этого файла, затем сохраняет её в переменную s.


2⃣ s = s.replace('AB', '*').replace('CB', '+')
- Заменяет все вхождения 'AB' в строке Услона символ '*', затем заменяет все вхождения 'CB' на символ '+'.


3⃣ for x in 'ABC':
- Инициализирует цикл, который будет последовательно проходить через каждую букву в строке 'ABC'.


4⃣ s = s.replace(x, ' ')
- Для каждой буквы x в строке 'ABC', заменяет все её вхождения в строкеЭ24
Ана пробелы.


5⃣ print(max([len(x) for x in s.split()]))
- Разделяет строку s на части (слова), используя пробелы как разделители, затем вычисляет длину каждой части и выводит максимальную из них.


6⃣ print(len(max(s.split(), key=len)))
- Так же, как предыдущая строка, разделяет строку s на части (слова), используя пробелы в качестве разделителей, и затем находит и выводит длину самой длинной части в строке.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Наша Stepik подборкой задач😼
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥11🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 3700 #reshu по информатике #ЕГЭ8
Автор: Решу ЕГЭ
Уровень: Базовый


🚩 Условие задачи:
Все 5-буквенные слова, составленные из букв Б, К, Ф, Ц, записаны
в алфавитном порядке и пронумерованы. Вот начало списка:
1. БББББ
2. ББББК
3. ББББФ
4. ББББЦ
5. БББКБ

Запишите слово, которое стоит на 486-м месте от начала списка.


🚩 Примечание к разбору:
Разберем задачу 3 разными способами и каждый выберет, тот способ,который ему понравился.



👩‍💻 Ход решения номер 🚩
s = sorted('БКФЦ')
print(s) # ['Б', 'К', 'Ф', 'Ц']
n = 0
for a in s:
for b in s:
for c in s:
for d in s:
for e in s:
slovo = a + b + c + d + e
n += 1
if n == 486:
print(n, slovo)


🚩 Комментарии к коду:
s = sorted('БКФЦ')

1⃣ Создается список s, содержащий отсортированные символы строки 'БКФЦ'.

print(s)  # ['Б', 'К', 'Ф', 'Ц']

2⃣ Выводится список s для проверки.

n = 0

3⃣ Вводим счетчик n, который будем использовать для подсчета количества сгенерированных слов.

for a in s:
for b in s:
for c in s:
for d in s:
for e in s:

4⃣ Перебираем все возможные комбинации из 5 символов, используя элементы списка s. Каждый цикл отвечает за одну позицию в слове.

slovo = a + b + c + d + e

5⃣ Формируется слово slovo путем объединения символов a, b, c, d, e.

n += 1

6⃣ Счетчик n увеличивается на 1 для каждой новой комбинации.

if n == 486:
print(n, slovo)

7⃣ Если счетчик n достигает значения 486, выводится номер комбинации и само слово.


👩‍💻 Ход решения номер 🚩
from itertools import *
n = 0
for p in product(sorted('БКФЦ'), repeat=5):
slovo = ''.join(p)
n += 1
if n == 486:
print(n, slovo)


🚩 Комментарии к коду:
from itertools import *

1⃣ Импортируется модуль itertools, который предоставляет функции для работы с комбинациями.

n = 0

2⃣ Вводим счетчик n для подсчета количества сгенерированных слов.

for p in product(sorted('БКФЦ'), repeat=5):

3⃣ Используется функция product, которая генерирует все возможные комбинации из символов 'Б', 'К', 'Ф', 'Ц' с длиной 5 .

slovo = ''.join(p)

4⃣ Каждый элемент p преобразуется в строку slovo с помощью метода join.

n += 1

5⃣ Счетчик n увеличивается на 1 для каждой новой комбинации.

if n == 486:
print(n, slovo)

6⃣ Если счетчик n достигает значения 486, выводится номер комбинации и само слово.


👩‍💻 Ход решения номер 🚩
from itertools import *
for n, p in enumerate(product(sorted('БКФЦ'), repeat=5), 1):
slovo = ''.join(p)
if n == 486:
print(n, slovo)


🚩 Комментарии к коду:
from itertools import *

1⃣ Импортируется модуль itertools.

for n, p in enumerate(product(sorted('БКФЦ'), repeat=5), 1):

2⃣ Используем функцию enumerate, которая добавляет счетчик n к каждому элементу, генерируемому функцией product. Счетчик начинается с 1.

slovo = ''.join(p)

3⃣ Каждый элемент p преобразуется в строку slovo с помощью метода join.

if n == 486:
print(n, slovo)

4⃣ Если счетчик n достигает значения 486, выводится номер комбинации и само слово.

#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Второй канал про теорию Python 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
👍843🔥2