This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Статград
Уровень: Средний
У исполнителя есть три команды, которые обозначены буквами:
A. Вычесть 1
B. Разделить на 2
С. Разделить на 3
Команда B может быть исполнена только для чётного числа, команда C –
только для числа, кратного 3.
Сколько существует программ, которые преобразуют исходное число 19
в число 1 и при этом траектория вычислений не содержит чисел 12 и 15?
def F(a, b):
A, B, C = 0, 0, 0
if a <= b or a == 12 or a == 15:
return a == b
A = F(a - 1, b)
if a % 2 == 0:
B = F(a // 2, b)
if a % 3 == 0:
C = F(a // 3, b)
return A + B + C
print(F(19, 1))
# Ответ: 43
def F(a, b):
Определение функции с именем F, которая принимает два аргумента a и b.
A, B, C = 0, 0, 0
Инициализация переменных A, B, C с начальным значением 0.
if a <= b or a == 12 or a == 15:
Проверка условия: если a меньше или равно b, или a равно 12, или a равно 15, то выполнить следующий блок кода.
return a == b
Возврат результата сравнения a и b (логическое значение True или False).
A = F(a - 1, b)
Вызов функции F с аргументами a - 1 и b и присвоение результата переменной A.
if a % 2 == 0:
Проверка условия: если a делится на 2 без остатка.
B = F(a // 2, b)
Вызов функции F с аргументами a // 2 и b и присвоение результата переменной B.
if a % 3 == 0:
Проверка условия: если a делится на 3 без остатка.
C = F(a // 3, b)
Вызов функции F с аргументами a // 3 и b и присвоение результата переменной C.
return A + B + C
Возврат суммы значений переменных A, B, C.
print(F(19, 1))
Вызов функции F с аргументами 19 и 1 и вывод результата выполнения функции.
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Информатика | Илья Андрианов | itpy 🧑💻
Вопрос: стоит ли скрыть ответы на задачи, чтобы они не отвлекали от решения?
В теории ответ все равно можно будет достать через kompege.ru или в форуме решений после 3-х неудачных попыток.
В теории ответ все равно можно будет достать через kompege.ru или в форуме решений после 3-х неудачных попыток.
Ребят, мы учли результаты опроса по оформлению подборки задач:
1) Решили скрыть ответы на задачи, чтобы вы могли сначала подумать самостоятельно.
2) Доступ к форуму с решениями будет открываться после трех неудачных попыток решения задачи.
3) Для 9-й задачи мы постараемся приложить .csv файлы для удобства.
Если у вас есть еще предложения, идеи или пожелания, оставляйте их в комментариях!👇
1) Решили скрыть ответы на задачи, чтобы вы могли сначала подумать самостоятельно.
2) Доступ к форуму с решениями будет открываться после трех неудачных попыток решения задачи.
3) Для 9-й задачи мы постараемся приложить .csv файлы для удобства.
Если у вас есть еще предложения, идеи или пожелания, оставляйте их в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
Таким образом можно найти подсказку, исправить опечатку в своем коде, или найти вдохновение в чужом решении, чтобы написать более оптимальный код
Я настоятельно призываю вас делиться своими вариантами решений, даже если в задаче просто просят "оставить ответ"
P.S. 26-27 номера скоро будут добавлены☝️
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Мы с Lizzerd решили сделать эту рубрику постоянной и заливать такие коротенькие видосы для вас каждое воскресенье!
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
У меня возник интересный вопрос: каким образом вы предпочитаете работать на занятиях (формат не имеет значения) – с включенной веб-камерой или без нее? 🤔
Anonymous Poll
29%
71%
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Статград
Уровень: Средний
Определите максимальную длину непрерывного фрагмента, который начинается и заканчивается одной и той же буквой из первой половины алфавита (от A до M) и не содержит эту букву внутри.
s = open('24.txt').readline()
maxi = 0
for a in 'ABCDEFGHIJKLM':
s = s.replace(a, f'{a} {a}')
maxi = max(maxi, max([len(x) for x in s.split()]))
s = s.replace(f'{a} {a}', a)
print(maxi)
# Ответ: 322
s = open('24.txt').readline()
Чтение строки из файла '24.txt' и присвоение её содержимого переменной s.
maxi = 0
Инициализация переменной maxi со значением 0, которая будет использоваться для хранения максимальной длины строки.
for a in 'ABCDEFGHIJKLM':
Начало цикла по буквам из строки 'ABCDEFGHIJKLM'.
s = s.replace(a, f'{a} {a}')
Замена каждого вхождения буквы a в строке s на a a.
maxi = max(maxi, max([len(x) for x in s.split()]))
Обновление переменной maxi, выбирая максимальное значение между текущим значением maxi и максимальной длиной слова из разделенной строки s.
s = s.replace(f'{a} {a}', a)
Восстановление оригинальной строки, заменяя a a на a.
print(maxi)
Вывод значения maxi, которое содержит максимальную длину слова после обработки всеми буквами из цикла.
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Короткий разбор 13 номера ЕГЭ по информатике, демоверсия 2024 #егэ #информатика #информатикаегэ
Вопрос: Как будет удобнее делиться Shorts видосами?
Anonymous Poll
60%
В основной ленте канала
36%
Вынести их в сторис
14%
Убрать в отдельную вкладку чатика
26%
Без особой разницы
This media is not supported in your browser
VIEW IN TELEGRAM
Обработка исключений играет важную роль в программировании, так как ошибки могут привести к непредсказуемым последствиям и прерыванию работы скрипта.
Одним из способов обработки исключений в Python является конструкция try-except. Она позволяет выполнить определенный код в блоке try, и если во время его выполнения возникает ошибка, перехватить и обработать эту ошибку в блоке except.
Пример использования конструкции try-except:
try:
# уязвимая функция
except Exception as e:
print(f"Произошла ошибка: {e}")
# код обработки ошибки
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет этот код?
Anonymous Quiz
15%
0
9%
0.0
33%
division by zero
27%
ZeroDivisionError
16%
Error
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Статград
Уровень: Базовый
Найдите все натуральные числа, не превышающие 10**9, которые
соответствуют маске 4*64*9?7 и при этом без остатка делятся на 9117.
В ответе запишите все найденные числа в порядке возрастания.
from fnmatch import *
for x in range(9117, 10**9, 9117):
if fnmatch(str(x), '4*64*9?7'):
print(x)
# Ответ:
# 464967
# 41764977
# 406444977
# 436439907
# 464337927
# 464884947
from fnmatch import *
Импорт всех функций из модуля fnmatch, который предоставляет возможность использовать шаблоны для сравнения строк.
for x in range(9117, 10**9, 9117):
Цикл for для переменной x в диапазоне от 9117 до 10^9 с шагом 9117.
if fnmatch(str(x), '4*64*9?7'):
Проверка условия: если строковое представление числа x соответствует шаблону '4*64*9?7' с помощью функции fnmatch.
print(x)
Вывод числа x, которое удовлетворяет условию проверки шаблона.
Таким образом, приведенный код ищет числа в заданном диапазоне, которые соответствуют шаблону '4*64*9?7', где символ
*
означает любую последовательность символов, а символ ?
означает любой одиночный символ.Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Поделитесь ссылкой/номером на задачки, которые могут подойти под формат канала, а я постараюсь сообразить на них разборы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Сюда можно отправлять задачки для разбора. Если задача типовая, то ответ вы получите прямо в этом чате. Пожалуйста, прикрепляйте к задаче ссылку или её номер
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: PRO100 ЕГЭ
Уровень: Средний
У исполнителя есть три команды:
A. Прибавить последнюю цифру
B. Добавить остаток от деления на 68
C. Возвести в квадрат
Если после выполнения команды получается такое же число, то команду нельзя применять к этому числу.
Сколько существует программ, для которых при исходном числе 2 результатом является число 680, при этом траектория вычислений содержит число 68 и не содержит числа 100?
from functools import *
@lru_cache(None)
def F(a, b):
if a >= b or a == 100:
return a == b
R = []
if a % 10 != 0:
R.append(F(a + a % 10, b))
if a % 68 != 0:
R.append(F(a + a % 68, b))
R.append(F(a ** 2, b))
return sum(R)
print(F(2, 68) * F(68, 680))
# Ответ: 47997789947424
from functools import *
Импортируются все функции из модуля functools.
@lru_cache(None)
Декоратор @lru_cache(None) используется для кеширования результатов вызовов функции F, чтобы избежать повторных вычислений для одних и тех же аргументов.
def F(a, b):
Объявляется функция F с параметрами a и b.
if a >= b or a == 100:
Проверяется условие: если a больше или равно b, или a равно 100, то функция возвращает True.
R = []
Создается пустой список R, в который будут добавляться результаты вычислений.
if a % 10 != 0:
Если остаток от деления a на 10 не равен 0.
R.append(F(a + a % 10, b))
Добавляется результат вызова F с аргументом a + a % 10 и b.
if a % 68 != 0:
Если остаток от деления a на 68 не равен 0.
R.append(F(a + a % 68, b))
Добавляется результат вызова F с аргументом a + a % 68 и b.
R.append(F(a ** 2, b))
Добавляется результат вызова F с аргументом a в квадрате и b.
return sum(R)
Функция возвращает сумму всех элементов в списке.
print(F(2, 68) * F(68, 680))
Выводится произведение результатов вызовов F с аргументами (2, 68) и (68, 680).
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Доход: Типа операции "Продажа"
Прибыль: "Продажа" - "Поступление"
Интересен ли вам такой формат подачи материла?
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM