Информатика | Илья Андрианов | itpy 🧑‍💻
1.05K subscribers
264 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
Нашел интересную задачку 5 номера, есть смысл её разбирать или легчайшая? 🤔
Anonymous Poll
61%
Давайте сделаем ✈️
39%
Уже успел решить сам 👀
75543
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 7309 #kege по информатике #ЕГЭ5
Автор: М. Шагитов
Уровень: Средний


🚩 Условие задачи:
Алгоритм принимает на вход натуральное число N и строит новое число R следующим образом:

1. Создается двоичная запись числа N.
2. Затем запись обрабатывается согласно следующим правилам:
а) Если N делится на 11, то к двоичной записи N справа добавляются все нули этой записи.
б) Если N не делится на 11, то к двоичной записи N слева добавляются все единицы этой записи.
3. Полученная запись представляет собой двоичную запись числа R.

Определите минимальное число N, после обработки которого алгоритмом получается число R, кратное 227.


👩‍💻 Код решения:
for n in range(1, 1000):
s = f'{n:b}'
if n % 11 == 0:
s += s.count('0') * '0'
else:
s = s.count('1') * '1' + s
r = int(s, 2)
if r % 227 == 0:
print(n)
break

Ответ: 59


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

1⃣ for n in range(1, 1000):
Цикл for, в котором переменная n перебирает значения от 1 до 999 для рассмотрения чисел.


2⃣ s = f'{n:b}'
Преобразование числа n в двоичную строку и сохранение ее в переменной s.


3⃣ if n % 11 == 0:
Проверка, делится ли число n на 11 без остатка.


4⃣ s += s.count('0') * '0'
Если число n делится на 11, то в строку s добавляется количество нулей, равное количеству вхождений символа '0' в строку s.


5⃣ else:
В случае, если число n не делится на 11.


6⃣ s = s.count('1') * '1' + s
К строке s добавляется количество единиц, равное количеству вхождений символа '1' в строке s, сдвигая все символы вправо.


7⃣ r = int(s, 2)
Преобразование двоичной строки s в целое число в переменной r.


8⃣ if r % 227 == 0:
Проверка, делится ли число r на 227 без остатка.


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

🔟 break
Прерывание цикла после вывода первого числа n, удовлетворяющего условиям, так как используется break.


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

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

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


🚩 Теоретическая справка:
Для задач с цифрами важно помнить, что никакое число не может начинаться с 0. Поэтому добавляем условие: "if x[0] > 0:"


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

cnt = 0
for x in product(range(9), repeat=5):
if x[0] > 0:
if x.count(5) == 1:
if all(x[i] != x[i + 1] for i in range(4)):
cnt += 1
print(cnt)

# Ответ: 13377


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

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


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


3⃣ for x in product(range(9), repeat=5):
Запускается цикл for, в котором генерируются все возможные пятерки чисел от 0 до 8.


4⃣ if x[0] > 0:
Проверяется, что первое число в пятерке больше 0.


5⃣ if x.count(5) == 1:
Проверяется, что число 5 встречается в пятерке ровно один раз.


6⃣ if all(x[i] != x[i + 1] for i in range(4)):
Проверяется, что все числа в пятерке попарно не равны друг другу, кроме последнего и предпоследнего чисел.


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


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


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

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

Потыкайте этот пример тут:
numbers = [3, 4, 2, 7, 2, 3, 8, 3, 1, 9]
A = [x**2 for x in numbers if x % 2 == 0]
print(A) # [16, 4, 4, 64]

B = [x**2 if x % 2 == 0 else x ** 3 for x in numbers]
print(B) # [27, 16, 4, 343, 4, 27, 64, 27, 1, 729]


Информатика ЕГЭ | itpy
👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
7653
ОткрытыйВариантЕгэИнформатика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