Информатика | Илья Андрианов | itpy 🧑‍💻
1.02K subscribers
265 photos
20 videos
19 files
632 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
🚩 Разбор номера 63025 #reshu по информатике #ЕГЭ9

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

👩‍💻 Код решения:
count = 0
for s in open('9.txt'):
M = sorted([int(x) for x in s.split()])
if len(M) != len(set(M)): # if M[-1] != M[-2]:
if M.count(M[-1]) == 1:
copied = [x for x in M if M.count(x) > 1]
if sum(copied) > M[-1]:
count += 1
print(count)


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

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

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

👩‍💻 Код решения:
cnt = 0
for s in open('9.txt'):
M = [int(x) for x in s.split()]
if len([x for x in M if abs(x) % 10 == 3]) == 3:
A = [x for x in M if x > 0]
B = [x for x in M if x < 0]
if sum(A) ** 2 < sum(B) ** 2:
cnt += 1
print(cnt)


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

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

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


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


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


👩‍💻 Код решения:
from math import prod
cnt = 0
for s in open('9.txt'):
M = [int(x) for x in s.split()]
copied = [x for x in M if M.count(x) == 2]
not_copied = [x for x in M if M.count(x) == 1]
if len(copied) == 2 and len(not_copied) == 5:
if prod(sorted(not_copied)[:3]) > prod(copied):
cnt += 1
print(cnt)

# Ответ: 1671305


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

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


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


3⃣ for s in open('9.txt'):
Цикл for, который проходит по каждой строке из файла "9.txt".


4⃣ M = [int(x) for x in s.split()]
Создание списка M, содержащего целочисленные значения, полученные разделением строки s.


5⃣ copied = [x for x in M if M.count(x) == 2]
Фильтрация списка M, чтобы получить только элементы, которые встречаются дважды.


6⃣ not_copied = [x for x in M if M.count(x) == 1]
Фильтрация списка M, чтобы получить только элементы, которые встречаются один раз.


7⃣ if len(copied) == 2 and len(not_copied) == 5:
Проверка условия: если в списке copied содержится два элемента, а в списке not_copied пять элементов.


8⃣ if prod(sorted(not_copied)[:3]) > prod(copied):
Проверка условия: произведение трех наименьших элементов из отсортированного списка not_copied больше произведения элементов из списка copied.


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


🔟 print(cnt)
Вывод результата.


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

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


🚩 Условие задачи:
Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
– наибольшее из четырёх чисел меньше суммы трёх других;
– среди четырёх чисел есть только одна пара равных чисел.


🚩 Теоретическая справка:
На kompege.ru появился вариант с заданиями к ЕГЭ 2024, ссылка тут.


👩‍💻 Код решения:
cnt = 0
for s in open('9.csv'):
M = sorted([int(x) for x in s.split(';')])
if M[-1] < sum(M[:3]):
if len(set(M)) == 3:
cnt += 1
print(cnt)

# Ответ: 147


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

1⃣ cnt = 0
Инициализация переменной cnt с начальным значением 0 для подсчёта подходящих ситуаций.


2⃣ for s in open('9.csv'):
Цикл for, который проходит по каждой строке в файле '9.csv'.


3⃣ M = sorted([int(x) for x in s.split(';')])
Создание списка M из целочисленных значений, полученных путём разделения строки s по символу ';' и последующей сортировки этих чисел.


4⃣ if M[-1] < sum(M[:3]):
Проверка условия: если наибольшее из четырёх чисел меньше суммы трёх других чисел.


5⃣ if len(set(M)) == 3:
Проверка условия: если количество уникальных элементов в списке M равно 3, что означает, что есть только одна пара равных чисел.


6⃣ cnt += 1
Увеличение счётчика cnt на 1, если обе проверки выше выполняются.


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


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
855
🚩 Разбор ДВ #2024 номера #9 по информатике #ЕГЭ9

👩‍💻 Код решения:
cnt = 0
for s in open('9.csv'):
M = [int(x) for x in s.split(';')]
copied = [x for x in M if M.count(x) == 2]
not_copied = [x for x in M if M.count(x) == 1]
if len(copied) == 4 and len(not_copied) == 2:
if sum(copied) < sum(not_copied):
cnt += 1
print(cnt)



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


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


🚩 Теоретическая справка:
Для решения этого номера кодом необходимо конвертировать .xls файл в .txt, но на экзамене будет доступен .csv формат, который можно будет открыть сразу же без конвертации.


👩‍💻 Код решения:
cnt = 0
for s in open('9.txt'):
M = sorted([int(x) for x in s.split()])
# if M[0] + M[-1] < M[1] + M[2]:
# if max(M) + min(M) < sum(M) - max(M) - min(M):
if M[0] + M[-1] < M[1] + M[2]:
cnt += 1
print(cnt)

# Ответ: 9997


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

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


2⃣ for s in open('9.txt'):
Открываем файл '9.txt' и построчно читаем его содержимое в цикле.


3⃣ M = sorted([int(x) for x in s.split()])
Разбиваем строку s на отдельные элементы, приводим их к целым числам и сортируем их, результат сохраняем в список M.


4⃣ if M[0] + M[-1] < M[1] + M[2]:
Проверяем условие: сумма первого и последнего элементов списка меньше суммы второго и третьего элементов.


5⃣ cnt += 1
Если условие выполняется, увеличиваем счётчик cnt на 1.


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


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


🚩 Условие задачи:
Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
– в строке только одно число повторяется трижды, остальные числа различны;
– квадрат суммы всех повторяющихся чисел строки больше квадрата суммы всех её неповторяющихся чисел.


🚩 Теоретическая справка:
Запоминайте способ создания генератора списков copied, чтобы можно было решать такие прототипы 9 номера на ура!


👩‍💻 Код решения:
cnt = 0
for s in open('9.csv'):
M = [int(x) for x in s.split(';')]
copied = [x for x in M if M.count(x) == 3]
nor_copied = [x for x in M if M.count(x) == 1]
if len(copied) == 3 and len(nor_copied) == 3:
if sum(copied) 2 > sum(nor_copied) 2:
cnt += 1
print(cnt)

# Ответ: 273


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

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


2⃣ for s in open('9.csv'):
Открываем файл '9.csv' для чтения и перебираем каждую строку файла поочередно.


3⃣ M = [int(x) for x in s.split(';')]
Разделяем строку s на элементы по разделителю ';', преобразуем их в целые числа и сохраняем в списке M.


4⃣ copied = [x for x in M if M.count(x) == 3]
Создаем список copied, включающий элементы списка M, которые встречаются ровно 3 раза.


5⃣ nor_copied = [x for x in M if M.count(x) == 1]
Создаем список nor_copied, включающий элементы списка M, которые встречаются ровно 1 раз.


6⃣ if len(copied) == 3 and len(nor_copied) == 3:
Проверяем, что в списке copied ровно 3 элемента, и в списке nor_copied также ровно 3 элемента.


7⃣ if sum(copied) 2 > sum(nor_copied) 2:
Сравниваем квадраты суммы элементов списка copied и квадрат суммы элементов списка nor_copied.


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


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


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
3854
🚩 Сохраняйте список уже разобранных задачи на нашем канале #ЕГЭ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
🚩 Разбор этого номера #yandex по информатике #ЕГЭ9
Автор: Калинин А.
Уровень: Средний


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

1. Удвоенный квадрат минимального из чисел, содержащихся в строке, больше, чем произведение двух других чисел, ни одно из которых не равно максимальному числу
2. В строке содержится хотя бы два одинаковых числа


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


👩‍💻 Код решения:
cnt = 0
for s in open('files/9.csv'):
M = sorted([int(x) for x in s.split(',')])

if len(set(M)) < 4:
if (2 * M[0] ** 2) > (M[1] * M[2]):
if M[1] != max(M) and M[2] != max(M):
print(M)
cnt += 1
print(cnt)

# Ответ: 43


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

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


2⃣ for s in open('files/9.csv'):
Открываем файл '9.csv' для чтения и начинаем цикл по каждой строке файла.


3⃣ M = sorted([int(x) for x in s.split(',')])
Разделяем строку s по запятым, преобразуем каждую часть в целое число и сортируем полученный список в M.


4⃣ if len(set(M)) < 4:
Проверяем, содержит ли множество уникальных элементов списка M меньше 4 значений.


5⃣ if (2 * M[0] ** 2) > (M[1] * M[2]):
Проверяем, выполняется ли неравенство: двойной квадрат первого элемента больше произведения второго и третьего элементов.


6⃣ if M[1] != max(M) and M[2] != max(M):
Проверяем, не является ли максимальный элемент списка среди второго или третьего элементов.


7⃣ print(M)
Если все условия выполнены, выводим список M.


8⃣ cnt += 1
Увеличиваем счётчик cnt на 1, так как мы нашли подходящий список.


0⃣ print(cnt)
По завершении цикла выводим общее количество подходящих списков, хранящихся в cnt.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73❤‍🔥21
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 11228 #kege по информатике #ЕГЭ9
Автор: М.Ишимов
Уровень: Сложный

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


🚩 Теоретическая справка:
Определите сумму чисел всех строк таблицы


👩‍💻 Код решения:
from itertools import *
summa = 0
for s in open('9.txt'):
M = sorted([int(x) for x in s.split()])
copied_2 = [x for x in M if M.count(x) == 2]
copied_3 = [x for x in M if M.count(x) == 3]
if len(copied_3) == 3 and len(copied_2) == 4:
if any(sum(p[:2]) % 2 != 0 and sum(p[2:]) % 2 != 0 for p in permutations(M[:4])):
summa += sum(M)
print(summa)

Ответ: 4675


📱 Комментарии к коду:

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


2⃣ summa = 0
Создается переменная summa.


3⃣ for s in open('9.txt'):
В цикле for происходит построчное чтение файла. Каждая строка файла сохраняется в переменную s.


4⃣ M = sorted([int(x) for x in s.split()])
Строка s разбивается на список строк с помощью метода split(). Каждая строка преобразуется в целое число с помощью int(x). Полученный список чисел сортируется и сохраняется в переменную M.


5⃣ copied_2 = [x for x in M if M.count(x) == 2]
Создается список copied_2, который содержит элементы из списка M, встречающиеся ровно два раза.


6⃣ copied_3 = [x for x in M if M.count(x) == 3]
Создается список copied_3, который содержит элементы из списка M, встречающиеся ровно три раза.


7⃣ if len(copied_3) == 3 and len(copied_2) == 4:
Проверяется условие: если длина списка copied_3 равна 3 и длина списка copied_2 равна 4 .


8⃣ if any(sum(p[:2]) % 2 != 0 and sum(p[2:]) % 2 != 0 for p in permutations(M[:4])):
Генерируются все возможные перестановки первых четырех элементов списка M . Для каждой перестановки p проверяется, является ли сумма первых двух элементов нечетной и сумма последних двух элементов также нечетной.


0⃣ summa += sum(M)
Сумма всех элементов списка M добавляется к переменной summa.


🔟 print(summa)
Выводится значение переменной summa.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Второй канал про теорию Python 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥14👍8🔥66
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 18258 #kege по информатике #ЕГЭ9
Автор: Л. Шастин
Уровень: Сложный


🚩 Условие задачи:
Определите наибольший номер строки таблицы, для чисел которой выполнены оба условия:
– числа в строке расположены в порядке неубывания;
– в строке есть повторяющиеся числа с чётной суммой цифр.


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


👩‍💻 Код решения:
R = []
for n, s in enumerate(open('9.csv'), 1):
M = [int(x) for x in s.split(';')]
if M == sorted(M):
if any(M.count(x) > 1 and sum(map(int, str(x))) % 2 == 0 for x in M):
R.append(n)
print(max(R))

Ответ: 6937

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

1⃣ R = []
- Создаём пустой список R для хранения номеров строк, которые будут соответствовать условиям.


2⃣ for n, s in enumerate(open('9.csv'), 1):
- Начинаем цикл по каждой строке файла 9.csv, считывая одновременно её содержание s и устанавливая номер строки n, начиная с 1.


3⃣ M = [int(x) for x in s.split(';')]
- Преобразуем строку s, разделённую по символу ;, в список целых чисел M.


4⃣ if M == sorted(M):
- Проверяем, является ли список M отсортированным по возрастанию.


5⃣ if any(M.count(x) > 1 and sum(map(int, str(x))) % 2 == 0 for x in M):
- Проверяем, есть ли в списке M повторяющиеся элементы x, сумма цифр которых чётная.


6⃣ R.append(n)
- Добавляем номер строки n в список R, если выполняются условия выше.


7⃣ print(max(R))
- Выводим максимальный номер строки из списка R, соответствующий требуемым условиям.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7333👍1
🚩 Разбор номера #yandex по информатике #ЕГЭ9
Автор: Рогов.А
Уровень:
Сложный

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

в строке хотя бы одно число повторяется дважды (ровно 2 раза);
каждое из повторяющихся дважды (ровно 2 раза) чисел превышает каждое неповторяющееся.


🚩 Теоретическая справка:
Опасная задача потому что автор учитывает ситуацию, когда список uncopied пустой, что может вызывать ошибку при использовании функции max().


👩‍💻 Код решения:
cnt = 0
for s in open('0. files/9.csv'):
M = sorted([int(x) for x in s.split(',')])
copied = [x for x in M if M.count(x) == 2]
uncopied = [x for x in M if M.count(x) == 1]
if len(copied) > 0:
if len(uncopied) == 0:
maxi = 0
else:
maxi = max(uncopied)
if min(copied) > maxi:
cnt += 1
print(cnt)

Ответ: 665


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

1⃣ cnt = 0
- Создаём переменную-счётчик cnt и инициализируем её нулём.
- Будет хранить количество строк, удовлетворяющих условию.


2⃣ for s in open('0. files/9.csv'):
- Открываем файл '0. files/9.csv' для чтения.
- Циклом for перебираем каждую строку s из файла.


3⃣ M = sorted([int(x) for x in s.split(',')])
- Разбиваем строку s по запятым с помощью s.split(',').
- Каждый элемент преобразуем в целое число int(x).
- Полученный список чисел сортируем по возрастанию sorted().
- Результат сохраняем в переменную M.


4⃣ copied = [x for x in M if M.count(x) == 2]
- Создаём список copied с помощью генератора списка.
- Включаем в него элементы x из M, которые встречаются ровно 2 раза (M.count(x) == 2).
- Это будут числа-дубликаты в текущей строке.


5⃣ uncopied = [x for x in M if M.count(x) == 1]
- Аналогично создаём список uncopied.
- Включаем элементы, которые встречаются только 1 раз (M.count(x) == 1).
- Это уникальные числа в текущей строке.


6⃣ if len(copied) > 0:
- Проверяем, есть ли в строке дубликаты (длина списка copied больше 0).
- Если нет, то пропускаем дальнейшие проверки для этой строки.


7⃣ if len(uncopied) == 0:
- Проверяем, есть ли в строке уникальные числа.
- Если уникальных чисел нет (uncopied пуст):


8⃣ maxi = 0
- Устанавливаем maxi (максимальное уникальное число) в 0,
- так как сравнивать будем с минимальным дубликатом.


0⃣ else:
- Если в строке есть уникальные числа:


🔟 maxi = max(uncopied)
- Находим максимальное число среди уникальных и сохраняем в maxi.


1⃣1⃣ if min(copied) > maxi:
- Проверяем условие: минимальное число из дубликатов больше maxi.
- Если условие выполняется:


1⃣2⃣ cnt += 1
- Увеличиваем счётчик подходящих строк на 1.


1⃣3⃣ print(cnt)
- После обработки всех строк выводим итоговое значение счётчика cnt.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥7❤‍🔥442
🚩 Разбор номера #yandex по информатике #ЕГЭ9
Автор: ФИПИ
Уровень: Средний


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

в строке только одно число повторяется трижды, остальные числа различны;
утроенный квадрат повторяющегося числа строки больше суммы квадратов её неповторяющихся чисел.


👩‍💻 Код решения:
cnt = 0
for s in open('0. files/9.csv'):
M = [int(x) for x in s.split(';')]
copied = [x for x in M if M.count(x) == 3]
uncopied = [x for x in M if M.count(x) == 1]
if len(copied) == 3 and len(uncopied) == 3:
if (copied[0] ** 2) * 3 > (sum([x**2 for x in uncopied])):
cnt += 1
print(cnt)

Ответ: 245


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

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


2⃣ for s in open('0. files/9.csv'):
# Открываем файл и построчно считываем его содержимое в переменную s


3⃣ M = [int(x) for x in s.split(';')]
# Разделяем строку по символу ';', преобразуем элементы в целые числа и создаем список M


4⃣ copied = [x for x in M if M.count(x) == 3]
# Создаем список copied из элементов, которые встречаются в M ровно 3 раза (повторяющиеся элементы)


5⃣ uncopied = [x for x in M if M.count(x) == 1]
# Создаем список uncopied из элементов, которые встречаются в M ровно 1 раз (уникальные элементы)


6⃣ if len(copied) == 3 and len(uncopied) == 3:
# Проверяем, что у нас ровно 3 повторяющихся элемента и 3 уникальных элемента


7⃣ if (copied[0] ** 2) * 3 > (sum([x**2 for x in uncopied])):
# Проверяем условие: квадрат первого повторяющегося элемента, умноженный на 3, больше суммы квадратов всех уникальных элементов


8⃣ cnt += 1
# Если оба условия выполняются, увеличиваем счетчик на 1


0⃣ print(cnt)
# Выводим итоговое значение счетчика


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3👍2
🚩 Разбор #ДВ2025 номера #ЕГЭ9 по информатике

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


👩‍💻 Код решения:
A = []
for s in open('9.csv'):
M = [int(x) for x in s.split(';')]
p3 = [i for i in M if M.count(i) == 3]
np = [i for i in M if M.count(i) == 1]
if len(p3) == 3 and len(np) == 3:
if p3[0] < 2 * min(np):
A.append(sum(M))
print(sum(A) // len(A))


#⃣ Разбор задач ДВ, первый день 10.06.25
#⃣ Шпаргалки по всем остальным номерам ЕГЭ

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥87👍5
🚩 Разбор номера 18258 #kege по информатике #ЕГЭ9
Автор: Л.Шастин
Уровень:
Сложный

🚩 Условие задачи:
Определите наибольший номер строки таблицы, для чисел которой выполнены оба условия:
– числа в строке расположены в порядке неубывания;
– в строке есть повторяющиеся числа с чётной суммой цифр.


👩‍💻 Код решения:
R = []
for n, s in enumerate(open('0. files/9.csv'), 1):
M = [int(x) for x in s.split(';')]
if M == sorted(M):
if any(M.count(x) > 1 and sum(map(int, str(x))) % 2 == 0 for x in M):
R.append(n)
print(max(R))

Ответ: 6937


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

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


2⃣ for n, s in enumerate(open('0. files/9.csv'), 1):
Открывается файл 9.csv, итерируемся по его строкам s с нумерацией n, начиная с 1


3⃣ M = [int(x) for x in s.split(';')]
Каждая строка s разбивается по разделителю ;, элементы преобразуются в целые числа, формируется список M


4⃣ if M == sorted(M):
Проверяется, равен ли список M своему отсортированному варианту (проверка на неубывающую последовательность)


5⃣ if any(M.count(x) > 1 and sum(map(int, str(x))) % 2 == 0 for x in M):
Проверяется, есть ли в списке M хотя бы одно число x, которое встречается больше одного раза (M.count(x) > 1) и сумма цифр которого четная (sum(map(int, str(x))) % 2 == 0)


6⃣ R.append(n)
Если оба условия выполнены, номер строки n добавляется в список R


7⃣ print(max(R))
Выводится максимальный номер строки из списка R (последняя подходящая строка в файле)


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
38❤‍🔥4🔥4
🚩 Разбор номера 12797 #kege по информатике #ЕГЭ9
Автор: М.Попков
Уровень:
Средний

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

– в строке есть только одно число, которое повторяется дважды, остальные два числа различны;

– все неповторяющиеся числа нечетны, повторяющиеся числа чётны.

В ответе запишите только число.



👩‍💻 Код решения:
cnt = 0
for s in open('0. files/9.csv'):
M = sorted([int(x) for x in s.split(',')])
copied = [x for x in M if M.count(x) == 2]
uncopied = [x for x in M if M.count(x) == 1]
if len(copied) == 2 and len(uncopied) == 2:
if all(x % 2 != 0 for x in uncopied):
if all(x % 2 == 0 for x in copied):
cnt += 1
print(cnt)

Ответ: 53


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

1⃣ cnt = 0
Инициализация счетчика для подсчета подходящих строк.


2⃣ for s in open('0. files/9.csv'):
Открытие файла и построчное чтение данных. Каждая строка s содержит числа, разделенные запятыми.


3⃣ M = sorted([int(x) for x in s.split(',')])
Разделение строки по запятым, преобразование в целые числа и сортировка списка.


4⃣ copied = [x for x in M if M.count(x) == 2]
Создание списка чисел, встречающихся ровно 2 раза (дубликаты).


5⃣ uncopied = [x for x in M if M.count(x) == 1]
Создание списка уникальных чисел (встречаются 1 раз).


6⃣ if len(copied) == 2 and len(uncopied) == 2:
Проверка, что есть ровно 2 дублирующихся числа (1 пара) и 2 уникальных числа.


7⃣if all(x % 2 != 0 for x in uncopied):
Проверка, что все уникальные числа нечетные.


8⃣if all(x % 2 == 0 for x in copied):
Проверка, что все дублирующиеся числа четные.


0⃣cnt += 1
Если все условия выполнены, счетчик увеличивается на 1.


🔟 print(cnt)
Вывод общего количества подходящих строк.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍32🔥2
🚩 Разбор номера задачи #yandex по информатике #ЕГЭ9
Автор: Yandex учебник
Уровень: Базовый


🚩 Условие задачи:
Определите количество строк таблицы, для чисел которых выполнены оба условия:

- в строке есть ровно одно число, которое повторяется дважды, а остальные числа различны;
- максимальное число строки повторяется столько же раз, сколько и минимальное.


👩‍💻 Код решения:
cnt = 0
for s in open('0. files/9.csv'):
M = [int(x) for x in s.split(';')]
copied2 = [x for x in M if M.count(x) == 2]
uncopied = [x for x in M if M.count(x) == 1]
if len(copied2) == 2 and len(uncopied) == 5:
if M.count(max(M)) == M.count(min(M)):
cnt += 1
print(cnt)

Ответ: 349

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

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


2⃣ for s in open('0. files/9.csv'):
Построчно читаем файл '0. files/9.csv'; каждая строка — это строка s.


3⃣ M = [int(x) for x in s.split(';')]
Преобразуем строку в список целых чисел, разделяя элементы по символу ';'.


4⃣ copied2 = [x for x in M if M.count(x) == 2]
Создаём список чисел, которые встречаются ровно дважды.


5⃣ uncopied = [x for x in M if M.count(x) == 1]
Создаём список чисел, которые встречаются только один раз.


6⃣ if len(copied2) == 2 and len(uncopied) == 5:
Проверяем, что два различных числа встречаются по два раза, а пять других — по одному разу.


7⃣ if M.count(max(M)) == M.count(min(M)):
Проверяем, что максимальное и минимальное значения в строке встречаются одинаковое количество раз.


8⃣ cnt += 1
Если оба условия выполнены, увеличиваем счётчик подходящих строк на 1.


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


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

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