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

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

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

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
ОткрытыйВариантЕгэИнформатика2024.pdf
360.1 KB
💡 ФИПИ Выложил открытый варианты ЕГЭ 2024 #useful

Публикую "Официальный вариант досрочной волны"
Файлы прикреплю ниже 👇

Источник ✈️
Please open Telegram to view this post
VIEW IN TELEGRAM
855
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 10090 #kege по информатике #ЕГЭ8
Уровень: Базовый


🚩 Условие задачи:
Сколько существует восьмеричных пятизначных чисел, не содержащих в своей записи цифру 1, в которых все цифры различны и никакие две чётные или две нечётные цифры не стоят рядом?


🚩 Теоретическая справка:
Про функцию all() я писал тут.


👩‍💻 Код решения:
from itertools import *
cnt = 0
chet = '02 20 04 40 06 60 24 42 26 62 46 64'.split()
nechet = '35 53 37 73 57 75'.split()
for x in permutations('0234567', 5):
x = ''.join(x)
if x[0] != '0':
if all(y not in x for y in chet) and all(y not in x for y in nechet):
cnt += 1
print(cnt)

# Ответ: 180


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

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


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


3⃣ chet = '02 20 04 40 06 60 24 42 26 62 46 64'.split()
Создание списка chet путем разделения строки на элементы, содержащие пары четных цифр '02', '20', '04', '40', '06', '60', '24', '42', '26', '62', '46', '64'.


4⃣ nechet = '35 53 37 73 57 75'.split()
Создание списка nechet аналогичным способом для пар нечетных цифр '35', '53', '37', '73', '57', '75'.


5⃣ for x in permutations('0234567', 5):
Цикл for, в котором перебираются все перестановки длиной 5 из цифр '0234567'.


6⃣ x = ''.join(x)
Объединение перестановки x в строку для дальнейшей проверки.


7⃣ if x[0] != '0':
Проверка, что первая цифра числа не равна 0.


8⃣ if all(y not in x for y in chet) and all(y not in x for y in nechet):
Проверка, что число не содержит ни одной из четных пар из списка chet и ни одной из нечетных пар из списка nechet.


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


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


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

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

Появился новый легкий способ восстановит Тик Ток в России (для айфон), поэтому делюсь страничкой Lizzerd с которым мы совместно делаем эти видео для вас.

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
6321
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 11827 #kege по информатике #ЕГЭ8
Автор: (Л. Шастин)
Уровень: Средний


🚩 Условие задачи:
Определите количество семизначных чисел, записанных в восьмеричной системе счисления, запись которых содержит ровно две чётные цифры, и при этом никакая нечётная цифра не стоит рядом с цифрой 7.


🚩 Теоретическая справка:
Список четных чисел можно найти вот так: chet = [x for x in num if x in '02468']


👩‍💻 Код решения:
from itertools import product
cnt = 0
for per in product('01234567', repeat=7):
num = ''.join(per)
if num[0] != '0':
if len([x for x in num if x in '02468']) == 2:
if all(pair not in num for pair in '71 17 37 73 57 75 77'.split()):
cnt += 1
print(cnt)

# Ответ: 95904


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

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


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


3⃣ for per in product('01234567', repeat=7):
Цикл for, в котором перебираются все комбинации длиной 7 из цифр от 0 до 7.


4⃣ num = ''.join(per)
Создание строки num путем объединения элементов из текущей комбинации per.


5⃣ if num[0] != '0':
Проверка, что первая цифра числа не равна 0.


6⃣ if len([x for x in num if x in '02468']) == 2:
Проверка, что число содержит ровно 2 из цифр '02468'.


7⃣ if all(pair not in num for pair in '71 17 37 73 57 75 77'.split()):
Проверка, что число не содержит никаких из заданных комбинаций цифр '71', '17', '37', '73', '57', '75', '77'.


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


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


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
9651
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Нахождение наиболее частого элемента в списке #tpy

Хотите узнать, какой элемент встречается чаще всего в списке? Существует лайфхак, который поможет вам сделать это быстро и эффективно, не прибегая к сложным циклам.

С помощью функции max() и методов set() и count() мы можем легко найти наиболее часто встречающийся элемент.

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
6433
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 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
965
👋 Привет! Нам нужна ваша помощь!

Мы с командой разрабатываем мини-курс по подготовке к ЕГЭ на платформе Stepik. Сейчас мы тестируем одну из гипотез и нам важно услышать твое мнение. Твой отзыв поможет нам улучшить материалы и создать полезный курс. Будем признательны, если ты перейдешь по первой ссылке и решишь несколько задач, а затем ответишь на несколько вопросов используя вторую ссылку на Google Forms.

Будем благодарны и признательны всем неравнодушным.
Спасибо за помощь и интерес к нашему проекту! 🙏
Please open Telegram to view this post
VIEW IN TELEGRAM
15553
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ14
Автор: Статград
Уровень:
Средний

🚩 Условие задачи:
Числа AB267D1_p и F024A89_p записаны в системе счисления с основанием p.
При каком минимальном p сумма этих чисел будет делиться на p–1?


🚩 Теоретическая справка:
Так как функция int(num, base) работает только в диапазоне от 2 до 36, то нам приходится написать свою универсальную функцию my_int(), изучите её и используйте в сложных задачах.


👩‍💻 Код решения:
def my_int(num, base):
return sum(x*base**i for i, x in enumerate(num[::-1]))


for p in range(16, 100):
A = my_int([10, 11, 2, 6, 7, 13, 1], p)
B = my_int([15, 0, 2, 4, 10, 8, 9], p)
if (A + B) % (p-1) == 0:
print(p)
break

# Ответ: 50


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

1⃣ def my_int(num, base):
Определение функции my_int, которая принимает список чисел num и основание base.


2⃣ return sum(x*base**i for i, x in enumerate(num[::-1]))
Функция возвращает сумму произведений элементов списка num на соответствующие степени base.


3⃣ for p in range(16, 100):
Запуск цикла for, который перебирает числа от 16 до 99 и использует их в качестве p.


4⃣ if (my_int([10, 11, 2, 6, 7, 13, 1], p) + my_int([15, 0, 2, 4, 10, 8, 9], p)) % (p-1) == 0:
Проверка условия: сумма результатов функции my_int для двух списков их модуль по отношению к p-1 равен нулю.


5⃣ print(p)
Вывод числа p, которое удовлетворяет условиям, после чего программа завершает работу, используя оператор break.


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

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

🚩 Условие задачи:
Логическая функция F задаётся выражением:
((x ∨ y) → (y ∧ w)) ≡ ¬ ((y ∧ z) → (w ∨ x))
Дан частично заполненный фрагмент, содержащий неповторяющиеся
строки таблицы истинности функции F.

1 1 _ 1 | 1
0 _ 0 0 | 1
0 0 1 1 | 1


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

def F(x, y, z, w):
return ((x or y) <= (y and w)) == (not((y and z) <= (w or x)))


for a1, a2 in product([0, 1], repeat=2):
table = [(1, 1, a1, 1), (0, a2, 0, 0), (0, 0, 1, 1)]
if len(set(table)) == len(table):
for i in permutations('xyzw'):
if [F(**dict(zip(i, r))) for r in table] == [1, 1, 1]:
print(*i, sep='')

# Ответ: zywx


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

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


2⃣ def F(x, y, z, w):
Определение функции F с параметрами x, y, z, w.


3⃣ return ((x or y) <= (y and w)) == (not((y and z) <= (w or x)))
Возвращение результата выражения, которое сравнивает логические операции с параметрами функции.


4⃣ for a1, a2 in product([0, 1], repeat=2):
Цикл, в котором перебираются все возможные комбинации пар из 0 и 1.


5⃣ table = [(1, 1, a1, 1), (0, a2, 0, 0), (0, 0, 1, 1)]
Создание списка table с кортежами чисел 0 и 1, используемыми в качестве аргументов функции.


6⃣ if len(set(table)) == len(table):
Проверка условия, что все элементы в table уникальны.


7⃣ for i in permutations('xyzw'):
Цикл, который перебирает все перестановки символов 'xyzw'.


8⃣ if [F(**dict(zip(i, r))) for r in table] == [1, 1, 1]:
Проверка условия, что результаты функции F для каждого элемента из table равны [1, 1, 1].


0⃣ print(*i, sep='')
Вывод комбинации символов i без разделителя на экран.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
6443