#kege #yandex
#reshu #statgrad
#polyakov
#ЕГЭ1 #ЕГЭ10 #ЕГЭ19
#ЕГЭ2 #ЕГЭ11 #ЕГЭ20
#ЕГЭ3 #ЕГЭ12 #ЕГЭ21
#ЕГЭ4 #ЕГЭ13 #ЕГЭ22
#ЕГЭ5 #ЕГЭ14 #ЕГЭ23
#ЕГЭ6 #ЕГЭ15 #ЕГЭ24
#ЕГЭ7 #ЕГЭ16 #ЕГЭ25
#ЕГЭ8 #ЕГЭ17 #ЕГЭ26
#ЕГЭ9 #ЕГЭ18 #ЕГЭ27
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Уровень: Сложный
Ксения составляет слова из букв К, С, Е, Н, И, Я.
Каждая гласная буква встречается в слове не более двух раз.
Каждая согласная может стоять в слове на первой позиции, либо не встречаться вовсе.
Сколько различных слов длиною более двух символов может составить Ксения?
Особое внимание нужно уделить условию "после".
from itertools import *
cnt = 0
for l in range(3, 7+1):
for s in product('КСЕНИЯ', repeat=l):
word = ''.join(s)
if all(word.count(x) <= 2 for x in 'ЕИЯ'):
sogl = [x for x in word if x in 'КСН']
if (len(sogl) == 1 and word[0] in sogl) or len(sogl) == 0:
cnt += 1
print(cnt)
# Ответ: 1059
from itertools import *
Импорт всех функций из модуля itertools.
cnt = 0
Инициализируется переменная cnt, которая будет использоваться для подсчета количества слов, удовлетворяющих заданным условиям.
for l in range(3, 7+1):
Запускается внешний цикл for по длине слова l от 3 до 7 включительно.
for s in product('КСЕНИЯ', repeat=l):
В цикле генерируются все возможные комбинации символов 'КСЕНИЯ' длины l.
word = ''.join(s)
Строка word, объединяя символы из текущего набора s.
if all(word.count(x) <= 2 for x in 'ЕИЯ'):
Проверяется, что количество вхождений символов 'Е', 'И' и 'Я' в слове word не превышает 2 для каждого из них.
sogl = [x for x in word if x in 'КСН']
Формируется список sogl, содержащий только согласные буквы из слова word (символы 'К', 'С', 'Н').
if (len(sogl) == 1 and word[0] in sogl) or len(sogl) == 0:
Проверяется условие, что либо в слове есть только одна согласная и это первая буква, либо в слове нет согласных.
cnt += 1
Если слово удовлетворяет условиям, счетчик увеличивается.
print(cnt)
Выводится количество слов, удовлетворяющих условиям.
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: А. Брейк
Уровень: Сложный
1. Вычесть 1
2. Вычесть 2
3. Извлечь корень
Третья команда — извлекает из числа квадратный корень, если число является квадратом любого числа.
Сколько различных результатов можно получить из числа 113 в ходе программы, содержащей 17 команд?
Обратите внимание, что просят найти кол-во команд!
from functools import *
my_set = set()
@lru_cache(None)
def F(x, c):
if c == 17:
my_set.add(x)
return 0
if x > 0:
if round(x**0.5) == x**0.5:
return F(x - 1, c + 1) + F(x - 2, c + 1) + F(x ** 0.5, c + 1)
return F(x-1, c+1) + F(x-2, c+1)
F(113, 0)
print(len(my_set))
# Ответ: 6537515
from functools import *
Импорт всех функций из модуля.
my_set = set()
Создание пустого множества my_set, которое будет использоваться для хранения уникальных значений.
@lru_cache(None)
Декоратор для кеширования результатов выполнения функции. None означает, что будет использоваться неограниченный кеш.
def F(x, c):
Объявление функции F, которая принимает два аргумента: x и c.
if c == 17:
Проверка условия: если c равно 17.
my_set.add(x)
Добавление значения x в множество my_set.
return 0
Конец выполнения функции для определенного значения c.
if x > 0:
Проверка условия: если x больше нуля.
if round(x**0.5) == x**0.5:
Проверка условия: если квадратный корень числа x является целым числом.
return F(x - 1, c + 1) + F(x - 2, c + 1) + F(x ** 0.5, c + 1)
Рекурсивный вызов функции с различными параметрами в зависимости от условий.
return F(x-1, c+1) + F(x-2, c+1)
Рекурсивный вызов функции F с измененными параметрами.
F(113, 0)
Вызов функции F с начальными значениями.
print(len(my_set))
Вывод количества уникальных элементов в множестве.
Аудио мини-комментарий к коду решения оставлю в комментариях
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Уровень: Сложный
Дана программа для исполнителя Редактор:
ПОКА нашлось(21)
заменить (21, 6)
Исходная строка содержит десять единиц и некоторое количество двоек, других цифр нет, точный порядок расположения единиц и двоек неизвестен. После выполнения программы получилась строка с суммой цифр 50. Какое наименьшее количество двоек могло быть в исходной строке?
Опишу в следующем посте*
from itertools import *
for n in range(1, 10):
for s in product('12', repeat=10+n):
if s.count('1') == 10:
s = ''.join(s)
while '21' in s:
s = s.replace('21', '6', 1)
if sum(map(int, s)) == 50:
print(n)
exit()
# Ответ: 8
from itertools import *
Импорт всех функций из модуля itertools.
for n in range(1, 10):
Цикл for, который проходит по значениям n от 1 до 9 включительно.
for s in product('12', repeat=10+n):
Вложенный цикл for, который поочередно формирует кортежи из повторений символов '1' и '2', накопленных 10+n раз, и сохраняет их в переменную s.
if s.count('1') == 10:
Проверка условия: если символ '1' встречается в строке s 10 раз.
s = ''.join(s)
Преобразование кортежа в строку s.
while '21' in s:
Цикл while, который будет продолжаться до тех пор, пока в строке s присутствует подстрока '21'.
s = s.replace('21', '6', 1)
Замена первого вхождения подстроки '21' на символ '6' в строке s.
if sum(map(int, s)) == 50:
Проверка условия: если сумма цифр в строке s, преобразованных в целые числа, равна 50.
print(n)
Вывод значения переменной n.
exit()
Завершение выполнения программы.
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: А. Богданов
Уровень: Средний
Файл разбит на строки различной длины. Определите максимальную длину цепочки символов, состоящей из повторяющихся фрагментов XYZ.
s = open('24.txt').readlines()
maxi = 0
for x in s:
count = 2
for i in range(len(x)-2):
if x[i:i+3] in ('XYZ', 'YZX', 'ZXY'):
count += 1
maxi = max(maxi, count)
else:
count = 2
print(maxi)
# Ответ: 53
s = open('24.txt').readlines()
Чтение всех строк из файла "24.txt" и сохранение их в виде списка строк в переменную s.
maxi = 0
Инициализация переменной maxi со значением 0, которая будет хранить максимальное количество найденных последовательностей.
for x in s:
Цикл, который перебирает строки из списка s для анализа каждой строки отдельно.
count = 2
Инициализация переменной count со значением 2, которая будет использоваться для подсчета последовательности в текущей строке.
for i in range(len(x)-2):
Внутренний цикл, который перебирает индексы от 0 до длины строки x минус 2 для итерации по каждой тройной подстроке в текущей строке.
if x[i:i+3] in ('XYZ', 'YZX', 'ZXY'):
Проверка условия: если текущая тройная подстрока x присутствует в кортеже заданных строк 'XYZ', 'YZX' или 'ZXY'.
count += 1
Увеличение значения переменной count на 1, если найдена подходящая тройная последовательность.
maxi = max(maxi, count)
Обновление значения переменной maxi на большее из текущего значения и count.
else:
В случае, если текущая тройная подстрока не соответствует заданным последовательностям:
count = 2
Сброс значения переменной count на 2 для начала подсчета заново в текущей строке.
print(maxi)
Вывод наибольшего значения переменной maxi.
Поддержать автора: boosty
Please open Telegram to view this post
VIEW IN TELEGRAM
Пару слов об авторе канала, давайте знакомиться!
#kege #yandex
#reshu #statgrad
#polyakov
Информатика ЕГЭ | itpy
Программирование на Python | itpy
Информатика ОГЭ | itpy
Hey Student!
Please open Telegram to view this post
VIEW IN TELEGRAM
4 5 5 4❤2
У нас уже собралась неплохая такая подборка 8 номеров, сохраняем и пользуемся! #ЕГЭ8 #useful
🚩 Разбор номера 17671 #kege по информатике #ЕГЭ8
Автор: Пересдача 04.07.2024
Уровень: Базовый
🚩 Разбор номера 17627 #kege по информатике #ЕГЭ8
Автор: Резервный день 19.06.2024
Уровень: Базовый
🚩 Разбор номера 5626 #kege по информатике #ЕГЭ8
🚩 Разбор номера 8417 #kege по информатике #ЕГЭ8
🚩 Разбор номера 15947 #reshu по информатике #ЕГЭ8
Уровень: Базовый
🚩 Разбор номера 4199 #polyakov по информатике #ЕГЭ8
Уровень: Сложный
🚩 Разбор номера 12917 #kege по информатике #ЕГЭ8
Автор: PRO100ЕГЭ
Уровень: Базовый
🚩 Разбор номера из нового варианта #statgrad по информатике #ЕГЭ8
Автор: Статград
Уровень: Базовый
🚩 Разбор номера 11827 #kege по информатике #ЕГЭ8
Автор: (Л. Шастин)
Уровень: Средний
🚩 Разбор номера 10090 #kege по информатике #ЕГЭ8
Уровень: Базовый
🚩 Разбор номера 12240 #kege по информатике #ЕГЭ8
Уровень: Базовый
🚩 Разбор номера 11827 #kege по информатике #ЕГЭ8
Автор: (Л. Шастин)
Уровень: Средний
🚩 Разбор номера 17521 #kege по информатике #ЕГЭ8
Автор: Основная волна 07.06.24
Уровень: Базовый
🚩 Разбор номера 17862 #kege по информатике #ЕГЭ8
Автор: Демоверсия 2025
Уровень: Базовый
Информатика ЕГЭ | itpy🧑💻
Поддержать автора донатом💵
Автор: Пересдача 04.07.2024
Уровень: Базовый
Автор: Резервный день 19.06.2024
Уровень: Базовый
Уровень: Базовый
Уровень: Сложный
Автор: PRO100ЕГЭ
Уровень: Базовый
Автор: Статград
Уровень: Базовый
Автор: (Л. Шастин)
Уровень: Средний
Уровень: Базовый
Уровень: Базовый
Автор: (Л. Шастин)
Уровень: Средний
Автор: Основная волна 07.06.24
Уровень: Базовый
Автор: Демоверсия 2025
Уровень: Базовый
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM