Информатика ЕГЭ | Илья Андрианов | itpy 🧑‍💻
1.35K subscribers
279 photos
23 videos
19 files
674 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
5⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ5 #шпора

📌 Ссылка на полную версию шпаргалки/методички на Notion.

Поставь ❤️‍🔥, отправь другу, и забирай несколько полезных функций, которые уже ждут тебя здесь:

🚩 Встроенные функции перевода в 2, 8, 16-ю системы счисления:
n = 24
num_2 = bin(n)[2:] # 11000
num_8 = oct(n)[2:] # 30
num_16 = hex(n)[2:] # 18


🚩 Перевод в 2, 8, 16-ю системы счисления через f-строки:
n = 24
num_2 = f'{n:b}' # 11000
num_8 = f'{n:o}' # 30
num_16 = f'{n:x}' # 18


🚩 Универсальная функция перевода (2 <= base <=36)
from string import *
alphabet = digits + ascii_uppercase
# alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')

def my_convert(num, base):
result = ''
while num > 0:
result += alphabet[num % base]
num //= base
return result[::-1]

n = 24
num_2 = my_convert(n, 2) # 11000
num_8 = my_convert(n, 8) # 30
num_16 = my_convert(n, 16) # 18
num_3 = my_convert(n, 3) # 220


🚩 Функция перевода из base системы в 10-ю (2 <= base <= 36)
r = int(num_base, base)
print(int('1000', 2)) # 8


🚩 Действия над строками:
s = '101001'

# Добавить '10' справа (в конец)
s = s + '10' # 10100110


# Добавить '01' слева (в начало)
s = '01' + s # 0110100110
print(s)

# Добавить '+' по середине
s = s[:len(s)//2] + '+' + s[len(s)//2:]
# 01101*00110

# Заменить все нули на единицы, а единицы на нули
s = s.replace('1', '*')
s = s.replace('0', '1')
s = s.replace('*', '0')


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
12653
This media is not supported in your browser
VIEW IN TELEGRAM
1⃣7⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ17 #шпора

📌 Ссылка на полную версию шпаргалки/методички на Notion.

Поставь ❤‍🔥, отправь другу, и забирай несколько полезных функций, которые уже ждут тебя здесь:


🚩 Считываем файл 17.txt в общий список M:
M = [int(x) for x in open('17.txt')]



Три основных типа задач 17 номера:

🚩 В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
M = [1, 2, 3, 4, 5]
for i in range(len(M)-1):
x, y = M[i:i+2]
print(f'{x}{y}', end=' ')

# Вывод:
# 12 23 34 45


🚩 Назовём тройкой три идущих подряд элемента последовательности.
M = [1, 2, 3, 4, 5]
for i in range(len(M)-2):
x, y, z = M[i:i+3]
print(f'{x}{y}{z}', end=' ')

# Вывод:
# 123 234 345


🚩 В данной задаче под парой подразумевается два различных элемента последовательности.
M = [1, 2, 3, 4, 5]
for i in range(0, len(M)):
for j in range(i+1, len(M)):
x, y = M[i], M[j]
print(f'{x}{y}', end=' ')
print()

# Вывод:
# 12 13 14 15
# 23 24 25
# 34 35
# 45



Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
221463
This media is not supported in your browser
VIEW IN TELEGRAM
1⃣5⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ15 #шпора

📌 Ссылка на полную версию шпаргалки/методички на Notion.

Поставь ❤‍🔥, отправь другу, и забирай несколько полезных функций, которые уже ждут тебя здесь:

🚩 Шаблон для первого типа:
(ДЕЛ(x, 2) → ¬ДЕЛ(x, 13)) ∨ (x + A ≥ 1000)

def F(x, A):
# return здесь пишем логическую функцию
return (x % 2 == 0) <= (x % 13 != 0) or ((x + A) >= 1000)

for A in range(1, 10000):
if all(F(x, A) for x in range(1, 10000)):
print(A)
break


🚩 Шаблон для второго типа:
(3x+y>48)∨(x>y)∨(4x+y<A)

def F(x, y, A):
# return здесь пишем логическую функцию
return ((3 * x) + y > 48) or (x > y) or ((4 * x) + y < A)


R = []
for A in range(0, 100):
if any(F(x, y, A) == 0 for x in range(0, 100) for y in range(0, 100)):
R.append(A)
print(max(R))


🚩 Шаблон для третьего типа:
x&25 ≠ 0 → (x&17 = 0 → x&А ≠ 0)

def F(x):
# return здесь пишем логическую функцию
return (x & 25 != 0) <= ((x & 17 == 0) <= (x & A != 0))


for A in range(0, 1000):
if all(F(x) for x in range(0, 10000)):
print(A)
break


🚩 Шаблон для четвертого типа:
((x  принадлежит  A) → ¬(x  принадлежит  P)) → ((x  принадлежит  A) → (x  принадлежит Q))

def F(x):
P = 10 <= x <= 35
Q = 17 <= x <= 48
A = a1 <= x <= a2
# return здесь пишем логическую функцию
return (A <= (not P)) <= (A <= Q)


M = [i / 4 for i in range(1 * 4, 60 * 4)] # нужно поменять range
R = []
for a1 in M:
for a2 in M:
if all(F(x) for x in M):
R.append(a2 - a1)
print(max(R))


Здесь я уже делал пост про логические функции.

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1343
This media is not supported in your browser
VIEW IN TELEGRAM
6⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ6 #шпора

📌 Ссылка на полную версию шпаргалки/методички на Notion.

Поставь ❤‍🔥, отправь другу, и забирай несколько полезных функций, которые уже ждут тебя здесь:

🚩 Шаблон программы:
import turtle as t
t.left(90)
t.tracer(0)
l = 30

# тут пишем псевдокод

t.up()
for x in range(-50, 50):
for y in range(-50, 50):
t.goto(x * l, y * l)
t.dot('black')
t.done()


🚩 t.tracer(0)
Эта функция отключает анимацию черепахи, что делает отрисовку более быстрой, т.е. графика не будет отображаться до тех пор, пока t.update() не будет вызван явно. Значение 0 указывает на отключение анимации.


🚩 l = 30
Здесь создается переменная l и устанавливается значение 30.


🚩 forward(distance)
Двигает черепаху вперед на заданное расстояние.


🚩 backward(distance)
Двигает черепаху назад на заданное расстояние.


🚩 right(angle)
Поворачивает черепаху направо на заданный угол.


🚩 left(angle)
Поворачивает черепаху налево на заданный угол.


🚩 t.up()
Эта функция поднимает перо черепахи, что позволяет ей перемещаться без рисования.


🚩 for x in range(-50, 50)::
Этот цикл перебирает значения от -50 до 49 (50 не включается) для переменной x.


🚩 for y in range(-50, 50):
Этот цикл перебирает значения от -50 до 49 (50 не включается) для переменной y.


🚩🚩 t.goto(x * l, y * l)
Эта функция перемещает черепаху в позицию с координатами (x * l, y * l), где l - это длина шага.


🚩🚩 t.dot('black')
Эта функция рисует точку черным цветом в текущей позиции черепахи.


🚩🚩 t.done()
Этот вызов указывает, что рисование завершено, и окно черепахи должно быть закрыто.


Таким образом, весь код используется для создания сетки черных точек в виде таблицы 100x100.

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
965
This media is not supported in your browser
VIEW IN TELEGRAM
1⃣2⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ12 #шпора

📌 Ссылка на полную версию шпаргалки/методички на Notion.

Поставь ❤‍🔥, отправь другу, и забирай несколько полезных функций, которые уже ждут тебя здесь:

🚩 Пример типового решения:
s = 170 * '1' + 100 * '3' + 7 * '2'

while '11' in s:
s = s.replace('112', '4', 1)
s = s.replace('113', '2', 1)
s = s.replace('42', '3', 1)
s = s.replace('43', '1', 1)

print(s)


🚩 s = 170 * '1' + 100 * '3' + 7 * '2'
Пример создания строка s, состоящая из 170 символов '1', за которыми следует 100 символов '3', а затем 7 символов '2'.


🚩 while '11' in s:
Начинается цикл, который будет выполняться до тех пор, пока в строке s есть подстрока '11'.


🚩 if '11' in s:
Если в строке s есть подстрока '11', то:


🚩 s = s.replace('112', '4', 1)
Заменяется первое вхождение подстроки '112' на символ '4' в строке s.


🚩 summa = sum([int(i) for i in s])
Создается переменная summa, с суммой цифр строки.


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
965
This media is not supported in your browser
VIEW IN TELEGRAM
2⃣4⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ24 #шпора

📌 Ссылка на полную версию шпаргалки/методички на Notion.

Поставь ❤️‍🔥, отправь другу, и забирай несколько полезных функций, которые уже ждут тебя здесь:

🚩 Чтение файла для 24 номера:
s = open('24.txt').readline()


🚩 Способ замены подстроки из файла:
s = s.replace('1', '2').replace('W', 'R')


🚩 Ищем подстроку наибольшей длины:
print(max([len(x) for x in s.split()]))


🚩 Ищем в строке s четверки символов:
for i in range(len(s)-3):
if s[i:i+4] in ('KLMN', 'LMNK', 'MNKL', 'NKLM'):


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1255
This media is not supported in your browser
VIEW IN TELEGRAM
1⃣5⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ15 #шпора

Поставь ❤‍🔥 и отправь другу эту супер полезную шпаргалку по 15 номеру ЕГЭ!


🚩 Шаблон для первого типа:
(ДЕЛ(x, 2) → ¬ДЕЛ(x, 13)) ∨ (x + A ≥ 1000)

def F(x, A):
return # Здесь пишем логическую функцию

R = []
for A in range(1, 10000):
if all(F(x, A) for x in range(1, 10000)):
R.append(A)
print(max(R))



🚩 Шаблон для второго типа:
(3x+y>48)∨(x>y)∨(4x+y<A)

def F(x, y, A):
return # Здесь пишем логическую функцию

R = []
for A in range(0, 100):
if any(F(x, y, A) == 0 for x in range(0, 100) for y in range(0, 100)):
R.append(A)
print(max(R))



🚩 Шаблон для третьего типа:
x&25 ≠ 0 → (x&17 = 0 → x&А ≠ 0)

def F(x, A):
return # Здесь пишем логическую функцию

R = []
for A in range(0, 1000):
if all(F(x, A) for x in range(0, 10000)):
R.append(A)
print(max(R))



🚩 Шаблон для четвертого типа:
((x  принадлежит  A) → ¬(x  принадлежит  P)) → ((x  принадлежит  A) → (x  принадлежит Q))

def F(x):
P = 10 <= x <= 35
Q = 17 <= x <= 48
A = a1 <= x <= a2
return # Здесь пишем логическую функцию

# Тут нужно будет поменять range()
M = [i / 4 for i in range(1 * 4, 60 * 4)]
R = []
for a1 in M:
for a2 in M:
if all(F(x) for x in M):
R.append(a2 - a1)
print(max(R))



🚩 Здесь я публиковал табличку для работы с таблицам истинности, чтобы не путать конъюнкцию и дизъюнкцию ☝️


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
41343
This media is not supported in your browser
VIEW IN TELEGRAM
1⃣4⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ14 #шпора

Подготовил для вас шпоргалочку для решению 14 номера!

🚩 Собрать универсальный алфавит для систем счисления от 2 до 36:
alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')


🚩 Аналогичный способ через библиотеку string:
from string import *
alphabet = digits + ascii_uppercase


🚩 Перебор элементов n-ой системы счисления:
for y in alphabet[:n]:


🚩 Перевод строку из n-ой системы счисления в десятичную:
x = int(f'79{x}{y}7', n)


🚩 Встроенные функции перевода:
bin()[2:]  # перевод в 2-ую
oct()[2:] # перевод в 8-ую
hex()[2:] # перевод в 16-ую


🚩 Перевод в другую систему счисления через f-строки:
x = 27
print(f'{x:b}') # 11011
print(f'{x:o}') # 33
print(f'{x:x}') # 1b
print(f'{x:X}') # 1B


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
2833
8⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ8 #шпора

Ссылка на подборку с разборами 8 номеров на канале, сохраняйте и отправляйте другу: click here

И пару полезных стрчоку уже здесь:

🚩 for s in itertools.permutations('ЯРОСЛАВ', 5):
Цикл for, который проходит через все перестановки длиной 5 букв из заданной строки 'ЯРОСЛАВ'. Каждая перестановка сохраняется в переменной s.


🚩 for s in itertools.product('АЕКНС', repeat=6):
Цикл for, в котором происходит итерация по всем комбинациям символов из 'АЕКНС' длиной 6 символов, сгенерированным с помощью метода product из модуля itertools.


🚩 slovo = ''.join(s)
Преобразования кортежа символов "s" в строку символов "slovo".


🚩 if slovo[0] not in '1357':
Проверка условия, что элемент слова по индексу "0" является одним из символов набора.


🚩 if all(pair not in num for pair in '71 17 37 73 57 75 77'.split()):
Функция all() позволяет проверять множественные вхождения элементов в строку. В данном случаи ни одно из чисел "71 17 37 73 57 75 77" не должно попадаться в строку num.


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥92🔥2
1⃣6⃣ Шпаргалка для номера #ЕГЭ16 #шпора

Собрал для вас основные моменты, которые важно знать при решении 16 номера. Для закрепления материала оставляю ссылку на подборку всех 16 номеров разобранных на моем канале.

📚 По этой ссылке ты найдешь мои шпаргалки по всем остальным номерам ЕГЭ



🚩 Пример типового решения:
def F(n):
if n <= 7:
return 1
else:
return n + 2 + F(n - 1)

print(F(2024) - F(2020))

Без лишних действий просто переписываем псевдокод в свою фукнцию не придумывая велосипедов 🚲


🚩 Дополнительная библиотека:
from sys import *
setrecursionlimit(10000)

Эта настройка полезна при возникновении ошибки RecursionError: maximum recursion depth exceeded.


🚩 Ещё одна дополнительная библиотека:
from functools import *

@lru_cache(None)

Используйте декоратор @lru_cache(None), если ваша программа зависает или слишком долго выполняется, так как это помогает кэшировать результаты вычислений.

📌 Тут оставлю сылку на старую версию шпаргалки, которую делал в Notion


Информатика ЕГЭ | itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥442
This media is not supported in your browser
VIEW IN TELEGRAM
8⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ8 #шпора

📌 Ссылка на шпаргалку/методичку на Notion и несколько полезных моментов уже здесь:

Подготовили для вас методическое пособие по решению 8 номера! Сохраняйте все, что понадобится на экзамене 😼

🚩 for s in itertools.permutations('ЯРОСЛАВ', 5):
Цикл for, который проходит через все перестановки длиной 5 букв из заданной строки 'ЯРОСЛАВ'. Каждая перестановка сохраняется в переменной s.


🚩 for s in itertools.product('АЕКНС', repeat=6):
Цикл for, в котором происходит итерация по всем комбинациям символов из 'АЕКНС' длиной 6 символов, сгенерированным с помощью метода product из модуля itertools.


🚩 slovo = ''.join(s)
Преобразования кортежа символов "s" в строку символов "slovo".


🚩 if slovo[0] not in '1357':
Проверка условия, что элемент слова по индексу "0" является одним из символов набора.


🚩 if all(pair not in num for pair in '71 17 37 73 57 75 77'.split()):
Функция all() позволяет проверять множественные вхождения элементов в строку. В данном случаи ни одно из чисел "71 17 37 73 57 75 77" не должно попадаться в строку num.

В комментариях закреплю файл в формате pdf 👇

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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7🔥5👍4
1⃣6⃣ Шпаргалка для номера #ЕГЭ16 #шпора

Собрал для вас основные моменты, которые важно знать при решении 16 номера. Для закрепления материала оставляю ссылку на подборку всех 16 номеров разобранных на моем канале.

📚 По этой ссылке ты найдешь мои шпаргалки по всем остальным номерам ЕГЭ


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

def F(n):
if n >= 2025:
return n
if n < 2025:
return n * 2 + F(n + 2)

print(F(82) - F(81)) # 1945




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

import sys
sys.setrecursionlimit(100000)

def F(n):
if n <= 5:
return 1
if n > 5:
return n + F(n - 2)

print(F(2126) - F(2122))

В этом прототипе нужно расширить глубину рекурсии из-за ошибки: "RecursionError: maximum recursion depth exceeded".



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

import sys
sys.setrecursionlimit(100000)

def F(n):
if n == 1:
return 1
if n > 1:
return n * F(n - 1)

print((F(2024) // 4 + F(2023)) // F(2022))

print((F(2024) / 4 + F(2023)) // F(2022))
~~~^~~
OverflowError: integer division result too large for a float

Такую ошибку мы получили на экзамене 2024 года.



🚩🚩 Разбор номера 18931 #kege по информатике #ЕГЭ16
Автор: М. Попков
Уровень: Базовый

from functools import *
import sys
sys.setrecursionlimit(100000)

@lru_cache(None)
def F(n):
if n <= 3:
return n - 1
if n > 3 and n % 2 == 0:
return F(n - 2) + n / 2 - F(n - 4)
if n > 3 and n % 2 != 0:
return F(n - 1) * n + F(n - 2)


for n in range(1, 5000):
F(n)

print(F(4952) + 2 * F(4958) + F(4964))

Самая неприятная ошибка, здесь необходимо использовать библиотеку functools.


📌 Тут оставлю сылку на старую версию шпаргалки, которую делал в Notion


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥1810❤‍🔥82
5⃣ Шпаргалка для номера #ЕГЭ5 #шпора

Собрал для вас основные моменты, которые важно знать при решении 5 номера. Для закрепления материала оставляю ссылку на подборку всех 5 номеров разобранных на моем канале.

📚 По этой ссылке ты найдешь мои шпаргалки по всем остальным номерам ЕГЭ


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

for n in range(1, 1000):
s = f'{n:b}'
if s.count('1') % 2 == 0:
s = '10' + s[2:] + '0'
else:
s = '11' + s[2:] + '1'
r = int(s, 2)
if r > 480:
print(n)
break



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

def tri(n):
s = ''
while n > 0:
s += str(n % 3)
n //= 3
s = s[::-1]
return s

for n in range(1000, 1, -1):
s = tri(n)
if n % 3 == 0:
s += s[-2:]
else:
s += tri(n % 3 * 3)
r = int(s, 3)
if r <= 150:
print(n)
break

В этом типе нужно использовать функцию для перевода в троичную систему счисления.


🚩 Встроенные функции перевода в 2, 8, 16-ю системы счисления:
n = 24
num_2 = bin(n)[2:] # 11000
num_8 = oct(n)[2:] # 30
num_16 = hex(n)[2:] # 18


🚩 Перевод в 2, 8, 16-ю системы счисления через f-строки:
n = 24
num_2 = f'{n:b}' # 11000
num_8 = f'{n:o}' # 30
num_16 = f'{n:x}' # 18


🚩 Универсальная функция перевода (2 <= base <=36)
from string import *
alphabet = digits + ascii_uppercase
# alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')

def my_convert(num, base):
result = ''
while num > 0:
result += alphabet[num % base]
num //= base
return result[::-1]

n = 24
num_2 = my_convert(n, 2) # 11000
num_8 = my_convert(n, 8) # 30
num_16 = my_convert(n, 16) # 18
num_3 = my_convert(n, 3) # 220


🚩 Функция перевода из base системы в 10-ю
print(int('1000', 2))  # 8
print(int('10', 8)) # 8
print(int('8', 16)) # 8

Диапазон работы функции (2 <= base <= 36)


🚩 Действия над строками:
s = '101001'

# Добавить '10' справа (в конец)
s = s + '10' # 10100110


# Добавить '01' слева (в начало)
s = '01' + s # 0110100110
print(s)

# Добавить '+' по середине
s = s[:len(s)//2] + '+' + s[len(s)//2:]
# 01101*00110

# Заменить все нули на единицы, а единицы на нули
s = s.replace('1', '*')
s = s.replace('0', '1')
s = s.replace('*', '0')


📌 Тут оставлю сылку на старую версию шпаргалки, которую делал в Notion


Давайте наберем 30 реакций, после этого заливаю следующую (свежую) шпору 👋

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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
5168👍74
8⃣ Шпаргалка для номера #ЕГЭ8 #шпора

Собрал для вас основные моменты, которые важно знать при решении 8 номера. Для закрепления материала оставляю ссылку на подборку всех 8 номеров разобранных на моем канале.

📚 По этой ссылке ты найдешь мои шпаргалки по всем остальным номерам ЕГЭ


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

from itertools import *

k = 0
for i in product('ДГИАШЭ', repeat=5):
i = ''.join(i)
if i[0] not in 'ИАЭ' and i[-1] not in 'ДГШ':
k += 1
print(k)

В данном задании необходимо найти какое количество различных кодовых слов можно составить.


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

from itertools import *

k = 0
for i in permutations('0123456789', 4):
i = ''.join(i)
if i[0] != '0':
i = i.replace('0', '2').replace('4', '2').replace('6', '2').replace('8', '2')
i = i.replace('3', '1').replace('5', '1').replace('7', '1').replace('9', '1')
if '11' not in i and '22' not in i:
k += 1
print(k)

В данном прототипе нужно найти количество чисел, которые можно составить.


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

from itertools import *

number = 0
for i in product(sorted('ПОБЕДА'), repeat=6):
i = ''.join(i)
number += 1
if i[0] == 'О' and len(i) == len(set(i)):
if number % 2 == 0:
print(number)

Здесь нужно учесть исходный список слов и вывести номер подходящего слова.

📌 Тут оставлю сылку на старую версию шпаргалки, которую делал в Notion



✔️ Супер! 30 реакций собрали, тогда на этом посте собираем 35 и идем дальше?)


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤‍🔥2611🔥822
1⃣2⃣Шпаргалка для номера #ЕГЭ12 #шпора

Для закрепления материала оставляю ссылку на подборку всех 12 номеров разобранных на моем канале.

📚 По этой ссылке ты найдешь мои шпаргалки по всем остальным номерам ЕГЭ


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

s = '1' + 90 * '0'
while '1' in s:
if '10' in s:
s = s.replace('10', '0001', 1)
else:
s = s.replace('1', '000', 1)
print(s.count('0'))

В данном задании необходимо найти количество нулей в полученной строке.


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

M = []
for n in range(4, 10000):
s = '4' + n * '7'
while '444' in s or '777' in s:
if '777' in s:
s = s.replace('777', '4', 1)
else:
s = s.replace('444', '7', 1)
summ = s.count('4') * 4 + s.count('7') * 7
M.append(summ)
print(max(M))

В этом прототипе нужно найти максимальную сумму цифр в строке.


🚩 Оставляю короткую заметку по поиску суммы цифр в строке:
s = '12345'

summ = s.count('4') * 4 + s.count('7') * 7

summ = sum(map(int, s))

summ = sum([int(x) for x in s])

summ = sum([int(x) for x in s if x.isdigit()])

summ = 0
for x in s:
summ += int(x)

💪 Более подробный пост на эту тему публиковал выше 🔝

📌 Тут оставлю сылку на старую версию шпаргалки, которую делал в Notion


По традиции набираем 35+ реакций и вечером заливаю ряд постов про 27 номер!


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
10❤‍🔥10👍44🔥21
2⃣7⃣ Разбор / Шпаргалка номера #ЕГЭ27
Задача 21425
#kege по информатике #шпора
Автор: Досрочная волна 2025
Уровень: Базовый


PS: Для начала просто внимательно прочитайте условие задачи и сравните его с оригиналом! Также публикую код решения, но пока без комментариев - они будут добавлены постами ниже.

❗️Продолжение разбора 27 номера будет в нескольких постах ниже.

🚩 Условие задачи:
В файле A хранятся данные о звёздах двух кластеров. В файле B хранятся данные о звёздах трёх кластеров.

Для каждого файла определите координаты центра каждого кластера. Затем вычислите четыре числа:
1. PxA – среднее арифметическое абсцисс центров кластеров файла А.
2. PyA – среднее арифметическое ординат центров кластеров файла А.

3. PxB – среднее арифметическое абсцисс центров кластеров файла B.
4. PyB – среднее арифметическое ординат центров кластеров файла B.


В ответе запишите четыре числа: в первой строке сначала целую часть произведения PxA * 10000, затем целую часть произведения Py*10000 для файла А, во второй строке – аналогичные данные для файла B.


🚩 Теоретическая справка:
При этом будем называть центром кластера точку этого кластера, сумма расстояний от которой до всех остальных точек кластера минимальна.

А расстояние между двумя точками на плоскости между точками A(x1, y1) и B(x2, y2) вычисляется по формуле: d(A,B)= ((x2 - x1)**2 + (y2 - y1)**2)**0.5



👩‍💻 Код решения:
from math import dist
clustersA = [[], []]
clustersB = [[], [], []]

for s in open('27_A.txt'):
s = s.replace(',', '.')
x, y = [float(i) for i in s.split()]
if y > 0:
clustersA[0].append([x, y])
else:
clustersA[1].append([x, y])


for s in open('27_B.txt'):
s = s.replace(',', '.')
x, y = [float(i) for i in s.split()]
if x > 0 and y > 0:
clustersB[0].append([x, y])
elif x > 0 and y < 0:
clustersB[1].append([x, y])
else:
clustersB[2].append([x, y])


def center(cl):
R = []
for p in cl:
summa=sum(dist(p, g) for g in cl)
R.append([summa,p])
return min(R)[1]


centersA = [center(cl) for cl in clustersA]
pxA = sum(x for x, y in centersA) / 2 * 10000
pyA = sum(y for x, y in centersA) / 2 * 10000
print(int(pxA), int(pyA))

centersB = [center(cl) for cl in clustersB]
pxB = sum(x for x, y in centersB) / 3 * 10000
pyB = sum(y for x, y in centersB) / 3 * 10000
print(int(pxB), int(pyB))

Ответ:
167990 73043
122627 29105

Файлы для решения задачи:
27_A.xlsx 27_A.txt
27_B.xlsx 27_B.txt


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥10🔥54🤯2