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

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

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

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
В чатике пришел запрос на разбор интересной задачи через чистый код.

Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
В целом, решение этой задачи я уже опубликовал в чате. Присоединяйтесь и задавайте свои вопросы, ведь обучение состоит из формата вопрос-ответ ☝️
Please open Telegram to view this post
VIEW IN TELEGRAM
432
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ15
Автор: Статград
Уровень:
Базовый

🚩 Условие задачи:
При каком наименьшем целом A выражение
((y < 20) → (x > 70)) ∨ ¬((x < A) → (y > A))
окажется тождественно истинным при любых целых значениях x и y?


🚩 Теоретическая справка:
Все 15 номера суперудобно решать через функцию all() про нее писали в этой статье.


👩‍💻 Код решения:
def F(x, y, A):
return ((y < 20) <= (x > 70)) or (not((x < A) <= (y > A)))

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

# Ответ: 71


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

1⃣ def F(x, y, A):
Определение функции F, которая принимает три аргумента: x, y и A.


2⃣ return ((y < 20) <= (x > 70)) or (not((x < A) <= (y > A)))
Функция возвращает результат логического выражения, которое проверяет два условия и возвращает результат их логической операции or.


3⃣ for A in range(10000):
Запуск цикла for, который перебирает значения A от 0 до 9999.


4⃣ if all(F(x, y, A) for x in range(100) for y in range(100)):
Проверка: все результаты функции F(x, y, A) истинны для всех комбинаций значений x от 0 до 99 и y от 0 до 99.


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


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
64321
🧠 Подборка задач 🚩🚩 номера #15

📎 Перейди по ссылке ниже, мы собрали для тебя серию практических задач, подготовленных специально для отработки 15 номера ЕГЭ. Готовься к экзамену более эффективно вместе с нами!
Please open Telegram to view this post
VIEW IN TELEGRAM
754
В преддверии ЕГЭ моя близкая подруга Полина проводит интенсив по математике

Дата проведения:

- 24 и 25 мая - первая часть
- 29 и 30 мая - вторая часть (задачи №13, 15, 16, 18, 19)

Доступны два тарифа:
- Тариф с проверкой (4500 рублей за 8,5 часов)
- Тариф без проверки (3200 рублей за 8,5 часов)
- Каждому участнику будут отправлены шпаргалки для экзамена! 🚀
Стоимость в пересчете на час примерно ~380 рублей.


Количество мест на тарифе с проверкой ограничено (работы будут проверены экспертом ЕГЭ в кратчайшие сроки, очень оперативно) ☝️
Используйте промокод: itpy
Получите скидку в размере 500 рублей.

Также действует акция: "Приведи друга" и получите скидку в 1000 рублей! Скидки суммируются - хоть в плюс залетай 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
322
🖥 Правила публикации #рекламы
По всем дополнительным вопросом пишите сюда: @SvckMyPvmpkin


➡️➡️➡️
Please open Telegram to view this post
VIEW IN TELEGRAM
🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ17
Автор: Статград
Уровень:
Сложный

🚩 Условие задачи:
Назовём четвёркой четыре идущих подряд элемента
последовательности. Определите количество четвёрок, для которых
выполняются следующие условия:
– в четвёрке есть хотя бы два пятизначных числа и хотя бы одно не пятизначное;
– в четвёрке больше чисел, кратных 3, чем чисел, кратных 7;
– сумма элементов четвёрки больше максимального элемента
последовательности, запись которого заканчивается на 538, но меньше
удвоенного значения этого элемента.


👩‍💻 Код решения:
numbers = [int(x) for x in open('17.txt')]
filtered = [x for x in numbers if str(x)[-3:] == '538']
result = []

for i in range(len(numbers) - 3):
# x, y, z, w = numbers[i:i + 4]
length = [len(str(abs(a))) for a in numbers[i:i + 4]]

if 2 <= length.count(5) < 4:
multiples_of_3 = [a for a in numbers[i:i + 4] if a % 3 == 0]
multiples_of_7 = [a for a in numbers[i:i + 4] if a % 7 == 0]

if len(multiples_of_3) > len(multiples_of_7):
if max(filtered) < sum(numbers[i:i + 4]) < max(filtered) * 2:
result.append(sum(numbers[i:i + 4]))

print(len(result), max(result))

# Ответ: 260 106865


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

1⃣ numbers = [int(x) for x in open('17.txt')]
Чтение чисел из файла "17.txt" и преобразование их в целочисленный формат, помещение результатов в список numbers.


2⃣ filtered = [x for x in numbers if str(x)[-3:] == '538']
Создание нового списка под названием filtered, который содержит только элементы из numbers, у которых последние три цифры равны '538'.


3⃣ result = []
Инициализация пустого списка с именем result, в который будут помещаться результаты для последующего анализа.


4⃣ for i in range(len(numbers) - 3):
Запуск цикла for, который перебирает индексы элементов numbers за исключением последних трех элементов.


5⃣ # x, y, z, w = numbers[i:i + 4]
Комментарий указывает на предполагаемое использование переменных x, y, z, w для значений из подсписка numbers[i:i + 4], но непосредственно переменные не используются в данном участке кода.


6⃣ length = [len(str(abs(a))) for a in numbers[i:i + 4]]
Создание списка length, содержащего длины строковых представлений абсолютных значений элементов из подсписка numbers[i:i + 4].


7⃣ if 2 <= length.count(5) < 4:
Проверка условия: количество цифр "5" в длинах строковых представлений элементов равно или больше 2 и меньше 4.


8⃣ multiples_of_3 = [a for a in numbers[i:i + 4] if a % 3 == 0]
Формирование списка multiples_of_3, содержащего элементы из подсписка numbers[i:i + 4], которые делятся на 3 без остатка.


0⃣ multiples_of_7 = [a for a in numbers[i:i + 4] if a % 7 == 0]
Формирование списка multiples_of_7, содержащего элементы из подсписка numbers[i:i + 4], которые делятся на 7 без остатка.


1⃣0⃣ if len(multiples_of_3) > len(multiples_of_7):
Проверка условия: количество элементов, делящихся на 3 без остатка, больше количества элементов, делящихся на 7 без остатка.


1⃣1⃣ if max(filtered) < sum(numbers[i:i + 4]) < max(filtered) * 2:
Проверка условия: сумма элементов подсписка numbers[i:i + 4] находится в интервале между максимальным элементом списка filtered и удвоенным значением максимального элемента из filtered.


1⃣2⃣ result.append(sum(numbers[i:i + 4]))
Добавление суммы элементов подсписка numbers[i:i + 4] в список result.


1⃣3⃣ print(len(result), max(result))
Вывод количества элементов в списке result и максимального значения в этом списке.


Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
865
🧠 Подборка задач 🚩🚩 номера #17
Please open Telegram to view this post
VIEW IN TELEGRAM
6554
Вопрос: стоит ли скрыть ответы на задачи, чтобы они не отвлекали от решения?

В теории ответ все равно можно будет достать через kompege.ru или в форуме решений после 3-х неудачных попыток.
Anonymous Poll
65%
✔️
35%
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Объединение списков в один #tpy

Это важная задача, которую можно решить различными способами. Один из подходов - использовать цикл для объединения элементов из разных списков в один новый список.

Однако, если хочется упростить этот процесс и записать это все в одну строку, можно воспользоваться методом sum().

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