Информатика | Илья Андрианов | itpy 🧑‍💻
1.08K subscribers
263 photos
20 videos
19 files
630 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
🚩 Разбор номера 4199 #polyakov по информатике #ЕГЭ8
Уровень: Сложный

🚩 Условие задачи:
Ксения составляет слова из букв К, С, Е, Н, И, Я.
Каждая гласная буква встречается в слове не более двух раз.
Каждая согласная может стоять в слове на первой позиции, либо не встречаться вовсе.

Сколько различных слов длиною более двух символов может составить Ксения?


🚩 Теоретическая справка:
Особое внимание нужно уделить условию "после".


👩‍💻 Код решения:
from itertools import *
cnt = 0
for l in range(3, 7+1):
for s in product('КСЕНИЯ', repeat=l):
word = ''.join(s)
if all(word.count(x) <= 2 for x in 'ЕИЯ'):
sogl = [x for x in word if x in 'КСН']
if (len(sogl) == 1 and word[0] in sogl) or len(sogl) == 0:
cnt += 1
print(cnt)

# Ответ: 1059


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

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


2⃣ cnt = 0
Инициализируется переменная cnt, которая будет использоваться для подсчета количества слов, удовлетворяющих заданным условиям.


3⃣ for l in range(3, 7+1):
Запускается внешний цикл for по длине слова l от 3 до 7 включительно.


4⃣ for s in product('КСЕНИЯ', repeat=l):
В цикле генерируются все возможные комбинации символов 'КСЕНИЯ' длины l.


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


6⃣ if all(word.count(x) <= 2 for x in 'ЕИЯ'):
Проверяется, что количество вхождений символов 'Е', 'И' и 'Я' в слове word не превышает 2 для каждого из них.


7⃣ sogl = [x for x in word if x in 'КСН']
Формируется список sogl, содержащий только согласные буквы из слова word (символы 'К', 'С', 'Н').


8⃣ if (len(sogl) == 1 and word[0] in sogl) or len(sogl) == 0:
Проверяется условие, что либо в слове есть только одна согласная и это первая буква, либо в слове нет согласных.


0⃣ cnt += 1
Если слово удовлетворяет условиям, счетчик увеличивается.


🔟 print(cnt)
Выводится количество слов, удовлетворяющих условиям.


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

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

🚩 Условие задачи:
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


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

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


2⃣ my_set = set()
Создание пустого множества my_set, которое будет использоваться для хранения уникальных значений.


3⃣ @lru_cache(None)
Декоратор для кеширования результатов выполнения функции. None означает, что будет использоваться неограниченный кеш.


4⃣ def F(x, c):
Объявление функции F, которая принимает два аргумента: x и c.


5⃣ if c == 17:
Проверка условия: если c равно 17.


6⃣ my_set.add(x)
Добавление значения x в множество my_set.


7⃣ return 0
Конец выполнения функции для определенного значения c.


8⃣ if x > 0:
Проверка условия: если x больше нуля.


0⃣ 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)
Рекурсивный вызов функции с различными параметрами в зависимости от условий.


1⃣1⃣ return F(x-1, c+1) + F(x-2, c+1)
Рекурсивный вызов функции F с измененными параметрами.

1⃣2⃣ F(113, 0)
Вызов функции F с начальными значениями.


1⃣3⃣ print(len(my_set))
Вывод количества уникальных элементов в множестве.


Аудио мини-комментарий к коду решения оставлю в комментариях 👇👇👇

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

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

🚩 Условие задачи:
Дана программа для исполнителя Редактор:

ПОКА нашлось(21)
заменить (21, 6)

Исходная строка содержит десять единиц и некоторое количество двоек, других цифр нет, точный порядок расположения единиц и двоек неизвестен. После выполнения программы получилась строка с суммой цифр 50. Какое наименьшее количество двоек могло быть в исходной строке?


🚩 Теоретическая справка:
Опишу в следующем посте*


👩‍💻 Код решения:
from itertools import *

for n in range(1, 10):
for s in product('12', repeat=10+n):
if s.count('1') == 10:
s = ''.join(s)

while '21' in s:
s = s.replace('21', '6', 1)
if sum(map(int, s)) == 50:
print(n)
exit()

# Ответ: 8


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

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


2⃣ for n in range(1, 10):
Цикл for, который проходит по значениям n от 1 до 9 включительно.


3⃣ for s in product('12', repeat=10+n):
Вложенный цикл for, который поочередно формирует кортежи из повторений символов '1' и '2', накопленных 10+n раз, и сохраняет их в переменную s.


4⃣ if s.count('1') == 10:
Проверка условия: если символ '1' встречается в строке s 10 раз.


5⃣ s = ''.join(s)
Преобразование кортежа в строку s.


6⃣ while '21' in s:
Цикл while, который будет продолжаться до тех пор, пока в строке s присутствует подстрока '21'.


7⃣ s = s.replace('21', '6', 1)
Замена первого вхождения подстроки '21' на символ '6' в строке s.


8⃣ if sum(map(int, s)) == 50:
Проверка условия: если сумма цифр в строке s, преобразованных в целые числа, равна 50.


0⃣ print(n)
Вывод значения переменной n.


🔟 exit()
Завершение выполнения программы.


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

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


🚩 Условие задачи:
Файл разбит на строки различной длины. Определите максимальную длину цепочки символов, состоящей из повторяющихся фрагментов XYZ.


👩‍💻 Код решения:
s = open('24.txt').readlines()
maxi = 0
for x in s:
count = 2
for i in range(len(x)-2):
if x[i:i+3] in ('XYZ', 'YZX', 'ZXY'):
count += 1
maxi = max(maxi, count)
else:
count = 2
print(maxi)

# Ответ: 53


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

1⃣ s = open('24.txt').readlines()
Чтение всех строк из файла "24.txt" и сохранение их в виде списка строк в переменную s.


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


3⃣ for x in s:
Цикл, который перебирает строки из списка s для анализа каждой строки отдельно.


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


5⃣ for i in range(len(x)-2):
Внутренний цикл, который перебирает индексы от 0 до длины строки x минус 2 для итерации по каждой тройной подстроке в текущей строке.


6⃣ if x[i:i+3] in ('XYZ', 'YZX', 'ZXY'):
Проверка условия: если текущая тройная подстрока x присутствует в кортеже заданных строк 'XYZ', 'YZX' или 'ZXY'.


7⃣ count += 1
Увеличение значения переменной count на 1, если найдена подходящая тройная последовательность.


8⃣ maxi = max(maxi, count)
Обновление значения переменной maxi на большее из текущего значения и count.


0⃣ else:
В случае, если текущая тройная подстрока не соответствует заданным последовательностям:


1⃣0⃣ count = 2
Сброс значения переменной count на 2 для начала подсчета заново в текущей строке.


1⃣1⃣ print(maxi)
Вывод наибольшего значения переменной maxi.


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

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

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

📱 Теория: #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