Anonymous Poll
15%
53%
21%
11%
This media is not supported in your browser
VIEW IN TELEGRAM
8960
#kege по информатике #ЕГЭ25Автор: Е.Джобс
Уровень: Базовый
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Найдите первые пять чисел, больших 500 000, сумма делителей которых соответствует маске *7?. Найденные числа выведите в порядке возрастания, справа от каждого запишите найденную сумму делителей.
Нужно найти первые пять чисел, больших 500 000, сумма делителей которых соответствует маске *7?.
from fnmatch import *
def divisors(x):
div = []
for j in range(1, int(x**0.5)+1):
if x % j == 0:
div += [j, x // j]
return sorted(set(div))
k = 0
for x in range(500_001, 10**10):
summa = sum(divisors(x))
if fnmatch(str(summa), '*7?'):
print(x, summa)
k += 1
if k == 5:
break
Ответ:
500001 666672
500048 968874
500069 500070
500079 666776
500114 750174
from fnmatch import *
Импортируется модуль fnmatch.
def divisors(x):
Создаем функцию divisors.
div = []
Создаётся пустой список div
for j in range(1, int(x**0.5)+1):
Запускается цикл for, который проходит по всем числам от 1 до квадратного корня из x (включительно).
if x % j == 0:
Проверяется, делится ли число x на j без остатка.
div += [j, x // j]
Если j является делителем, то в список div добавляются как сам делитель j, так и результат деления x на j.
return sorted(set(div))
Возвращается отсортированный список уникальных делителей.
k = 0
Создаем счетчик.
for x in range(500_001, 10**10):
Запускается цикл for, который проходит по всем числам от 500,001 до 10^10.
summa = sum(divisors(x))
Для каждого числа x вычисляется сумма всех его делителей с помощью функции divisors(x), а затем результат сохраняется в переменной summa.
if fnmatch(str(summa), '*7?'):
Проверяется, соответствует ли строка, представляющая сумму делителей.
print(x, summa)
Если условие выше выполняется, то выводится число x и сумма его делителей summa.
k += 1
Увеличивается счётчик k на 1, так как найдено число, удовлетворяющее условию.
if k == 5:
Проверяется, достиг ли счётчик k значения 5.
break
Прерывает выполнение цикла for, если найдено 5 чисел, удовлетворяющих условию.
Кстати у нас есть чатик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9 7🤯6
This media is not supported in your browser
VIEW IN TELEGRAM
4333
#kege по информатике #ЕГЭ23Автор: /dev/inf advanced
Уровень: Средний
Исполнитель преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 3
3. Возвести в квадрат
Программа для исполнителя – это последовательность команд.
Известно, что исполнитель не может повторить команду, выполненную на предыдущем шаге. Например, если была выполнена команда 1, на следующем шаге могут быть выполнены только команды 2 или 3.
Сколько существует программ, для которых при исходном числе 1 результатом является число 25, и при этом траектория вычислений содержит число 5, но не содержит число 6?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 11, 12.
Исполнитель не может повторить команду, выполненную на предыдущем шаге.
def F(a, b, c):
if a >= b or a == 6:
return a == b
if c == '1':
return F(a + 3, b, '2') + F(a ** 2, b, '3')
if c == '2':
return F(a + 1, b, '1') + F(a ** 2, b, '3')
if c == '3':
return F(a + 1, b, '1') + F(a + 3, b, '2')
return F(a + 1, b, '1') + F(a + 3, b, '2') + F(a ** 2, b, '3')
print(F(1, 5, '') * F(5, 25, ''))
Ответ: 10
def F(a, b, c):
Создается функция F, которая принимает три аргумента.
if a >= b or a == 6:
Если текущее значение a больше или равно значению b, или a равно 6.
return a == b
Если условие из предыдущей строки выполняется, функция возвращает True, и False в противном случае.
if c == '1':
Проверяется, равно ли значение c строке '1'.
return F(a + 3, b, '2') + F(a 2, b, '3')
Если c == '1', функция вызывает саму себя дважды.
if c == '2':
Проверяется, равно ли значение c строке '2'.
return F(a + 1, b, '1') + F(a 2, b, '3')
Если c == '2', функция вызывает саму себя дважды.
if c == '3':
Проверяется, равно ли значение c строке '3'.
return F(a + 1, b, '1') + F(a + 3, b, '2')
Если c == '3', функция вызывает саму себя дважды.
return F(a + 1, b, '1') + F(a + 3, b, '2') + F(a 2, b, '3')
Если значение c не равно '1', '2' или '3' (например, пустая строка `''`), функция вызывает саму себя трижды.
print(F(1, 5, '') * F(5, 25, ''))
Результаты этих вызовов перемножаются, и итоговое значение выводится на экран.
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥10 7🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
11953
#kege по информатике #ЕГЭ23Автор: PRO100 ЕГЭ
Уровень: Средний
Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами:
A. Прибавить последнюю цифру
B. Добавить остаток от деления на 68
C. Возвести в квадрат
Программа для исполнителя – это последовательность команд.
Команда А прибавляет к числу его последнюю цифру. Например, из числа 68 получится число 76.
Команда B прибавляет к числу его остаток от деления на 68. Например, из числа 10 получится число 20.
Команда C возводит число в квадрат. Например, из числа 9 получится число 81.
Если после выполнения команды получается такое же число, то команду нельзя применять к этому числу. Например, к числу 10 нельзя применить команду A, так как 10 + 0 = 10.
Сколько существует программ, для которых при исходном числе 2 результатом является число 680, при этом траектория вычислений содержит число 68 и не содержит числа 100?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.
Если после выполнения команды получается такое же число, то команду нельзя применять к этому числу. Например, к числу 10 нельзя применить команду A, так как 10 + 0 = 10.
from functools import lru_cache
@lru_cache(None)
def F(a, b):
if a >= b or a == 100:
return a == b
count = 0
x = a % 10
if x != 0:
count += F(a + x, b)
x = a % 68
if x != 0:
count += F(a + x, b)
x = a ** 2
if x != a:
count += F(x, b)
return count
print(F(2, 68) * F(68, 680))
Ответ: 47997789947424
from functools import lru_cache
Импортируется декоратор lru_cache из модуля functools.
@lru_cache(None)
Декоратор lru_cache применяется к функции . Параметр None означает, что кэш не имеет ограничений по размеру.
def F(a, b):
Определяется функция F, которая принимает два аргумента.
if a >= b or a == 100:
Если текущее значение a больше или равно значению b, или a равно 100.
return a == b
Если условие из предыдущей строки выполняется, функция возвращает True, и False в противном случае.
count = 0
Создаем счетчик.
x = a % 10
Вычисляется последняя цифра числа a.
if x != 0:
Проверяется, не равна ли последняя цифра числа a нулю.
count += F(a + x, b)
Если последняя цифра числа a не равна нулю, функция вызывает саму себя с аргументами (a + x, b) и результат этого вызова добавляется к переменной count.
x = a % 68
Вычисляется остаток от деления числа a на 68.
if x != 0:
Проверяется, не равен ли остаток от деления числа a на 68 нулю.
count += F(a + x, b)
Если остаток от деления числа a на 68 не равен нулю, функция вызывает саму себя с аргументами (a + x, b) и результат этого вызова добавляется к переменной count.
x = a** 2
Вычисляется квадрат числа a.
if x != a:
Проверяется, не равен ли квадрат числа a самому числу a.
count += F(x, b)
Если квадрат числа a не равен самому числу a, функция вызывает саму себя с аргументами (x, b) и результат этого вызова добавляется к переменной count.
return count
Возвращается значение переменной count.
print(F(2, 68) * F(68, 680))
Результаты этих вызовов перемножаются, и итоговое значение выводится на экран.
Кстати у нас есть чатик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥12 8❤6
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
from itertools import *
Импортируется модуль itertools.
summa = 0
Создается переменная summa.
for s in open('9.txt'):
В цикле for происходит построчное чтение файла. Каждая строка файла сохраняется в переменную s.
M = sorted([int(x) for x in s.split()])
Строка s разбивается на список строк с помощью метода split(). Каждая строка преобразуется в целое число с помощью int(x). Полученный список чисел сортируется и сохраняется в переменную M.
copied_2 = [x for x in M if M.count(x) == 2]
Создается список copied_2, который содержит элементы из списка M, встречающиеся ровно два раза.
copied_3 = [x for x in M if M.count(x) == 3]
Создается список copied_3, который содержит элементы из списка M, встречающиеся ровно три раза.
if len(copied_3) == 3 and len(copied_2) == 4:
Проверяется условие: если длина списка copied_3 равна 3 и длина списка copied_2 равна 4 .
if any(sum(p[:2]) % 2 != 0 and sum(p[2:]) % 2 != 0 for p in permutations(M[:4])):
Генерируются все возможные перестановки первых четырех элементов списка M . Для каждой перестановки p проверяется, является ли сумма первых двух элементов нечетной и сумма последних двух элементов также нечетной.
summa += sum(M)
Сумма всех элементов списка M добавляется к переменной summa.
print(summa)
Выводится значение переменной summa.
Второй канал про теорию Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥14👍8🔥6 6
📢 Интенсив по неравенствам ЕГЭ по математике (номер 15)! 🎯
🔥 Разберем все типы неравенств – от простых до сложных! Подойдет для 10-11 классов и всех, кто готовится к ЕГЭ!
📌 Что ты получишь?
✔️ 6 занятий по 1.5 часа с пошаговым разбором всех типов неравенств
✔️ Четкие методы решения и разбор сложных случаев
✔️ Мини-группу до 5 человек → индивидуальный подход
✔️ Тренировочный мини-экзамен перед ЕГЭ
Кто я? Меня зовут Марина и я 🔥 Репетитор по математике с опытом подготовки к профильному ЕГЭ по математике более 3 лет 💡 училась в ВШЭ на бюджете, а теперь студентка 3 курса Sejong University в Сеуле – знаю, как объяснить сложные темы простыми словами 📈 Готовлю учеников к экзаменам так, что они не просто решают задачи, а понимают математику
📅 Старт: 10 марта 🕔 Занятия по понедельникам в 17:00 (МСК) 💰 8000 руб. → 7000 руб. с промокодом "информат" (скидка 1000₽)
⚡️ Акция только для подписчиков этого канала! Промокод действует 48 часов!
Подробности на фотках!)
✉️ Записывайся в личку @marinkaavia_math – просто напиши "Хочу на интенсив" и укажи промокод!
🔥 Разберем все типы неравенств – от простых до сложных! Подойдет для 10-11 классов и всех, кто готовится к ЕГЭ!
📌 Что ты получишь?
✔️ 6 занятий по 1.5 часа с пошаговым разбором всех типов неравенств
✔️ Четкие методы решения и разбор сложных случаев
✔️ Мини-группу до 5 человек → индивидуальный подход
✔️ Тренировочный мини-экзамен перед ЕГЭ
Кто я? Меня зовут Марина и я 🔥 Репетитор по математике с опытом подготовки к профильному ЕГЭ по математике более 3 лет 💡 училась в ВШЭ на бюджете, а теперь студентка 3 курса Sejong University в Сеуле – знаю, как объяснить сложные темы простыми словами 📈 Готовлю учеников к экзаменам так, что они не просто решают задачи, а понимают математику
📅 Старт: 10 марта 🕔 Занятия по понедельникам в 17:00 (МСК) 💰 8000 руб. → 7000 руб. с промокодом "информат" (скидка 1000₽)
⚡️ Акция только для подписчиков этого канала! Промокод действует 48 часов!
Подробности на фотках!)
✉️ Записывайся в личку @marinkaavia_math – просто напиши "Хочу на интенсив" и укажи промокод!
👍18❤12🔥7
Forwarded from Программирование на Python | itpy 💻
This media is not supported in your browser
VIEW IN TELEGRAM
При подготовке к ЕГЭ по информатике важно уметь работать с различными системами счисления для таких номеров как 5 и 14. Сегодня разберем универсальную функцию на Python, которая позволяет перевести число из десятичной системы счисления в любую другую (от 2 до 36).
1. Импортируем необходимые символы:
from string import *
Здесь используются модули digits и ascii_uppercase, чтобы задать доступные символы для различных систем счисления.
2. Образуем строку alphabet:
alphabet = digits + ascii_uppercase
Эта строка содержит все символы, используемые в системах счисления: цифры от 0 до 9 и заглавные английские буквы от A до Z.
3. Основная функция convert:
def convert(n, b):
r = ''
while n > 0:
r += alphabet[n % b]
n //= b
return r[::-1]
Функция convert принимает два параметра: число n в десятичной системе и основание b, в которое его нужно перевести. Внутри цикла проводится деление числа n на основание b с остатком, который используется для получения соответствующего символа из alphabet. Собранные символы переворачиваются в обратном порядке для получения правильного представления числа в новой системе.
4. Примеры использования:
n = 15552
print(convert(n, 2)) # Перевод в двоичную систему
print(convert(n, 8)) # Перевод в восьмеричную систему
print(convert(n, 16)) # Перевод в шестнадцатеричную систему
print(convert(n, 3)) # Перевод в троичную систему
Эти примеры показывают, как использовать функцию для перевода числа 15552 в различные системы счисления.
Более короткий вариант написания этой функции оставлю в комментариях к этому посту, не стесняйтесь ставить реакции на этот пост
Информатика ЕГЭ | itpy
Второй канал про теорию Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥33🔥10👍7 6
Друзья, поддержите контент реакциями! Правда, очень сложно найти мотивацию для создания постов, когда не получаешь никакой отдачи 🥲
Крик души! Вам же это несложно, а мне будет очень приятно🤗
Крик души! Вам же это несложно, а мне будет очень приятно
Anonymous Poll
93%
Сделаем и правда не сложно ✔️
7%
Принципиально не ставлю лайки ❌
👍49❤🔥16❤11
Ребята, спасибо огромное за активность под прошлым постом — вы меня очень порадовали! 💛
Обращаюсь с небольшим запросом: давно хотел узнать, в каких часовых поясах живут подписчики моего канала.
Обращаюсь с небольшим запросом: давно хотел узнать, в каких часовых поясах живут подписчики моего канала.
Anonymous Poll
42%
Москва
9%
Питер
21%
Новосибирск
5%
Казань
11%
Екатеринбург
3%
Красноярск
4%
Владивосток
1%
Калининград
4%
Свой вариант оставляйте в комментах 🫰
Ребят, кто завтра пишет досрок, два важных вопроса!
Во1 нужна ли помощь с ДВ? Если, конечно, их накидают..🙂
2. Напишите мне в личку @ilandroxxy, сильно хочется, поболтать😅
Во1 нужна ли помощь с ДВ? Если, конечно, их накидают..
2. Напишите мне в личку @ilandroxxy, сильно хочется, поболтать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5🔥1
This media is not supported in the widget
VIEW IN TELEGRAM
👍10❤6❤🔥4🤯1
Ребята с канала @infkege выложили полный вариант досрочной волны — очень рекомендую порешать, это будет полезно для подготовки. Ссылку оставляю здесь: тык 🖥
Сложных заданий, на мой взгляд, не нашлось, но если хотите, то можно разобрать задания 24, 26 и ТИ кодом. Кидайте реакции, а также пишите в комментариях, какие ещё номера стоит разобрать!
Информатика ЕГЭ | itpy🧑💻
Сложных заданий, на мой взгляд, не нашлось, но если хотите, то можно разобрать задания 24, 26 и ТИ кодом. Кидайте реакции, а также пишите в комментариях, какие ещё номера стоит разобрать!
Информатика ЕГЭ | itpy
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥4 3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
На мой взгляд — купить ответы невозможно, а вот списать, к сожалению, можно, и это действительно большая проблема. Например, недавно в сети появилось видео с досрочного экзамена по Дальнему Востоку: кто-то сумел пронести телефон и снять все задания на видео.
Что происходит дальше? Такое видео отправляется «нужным» людям, а потом ученик выходит в туалет — и получает готовые ответы. Ведь, как известно, на нашем экзамене проверяются только финальные ответы, а не ход решения.
Это тревожная тенденция, и рано или поздно она обязательно должна быть как-то решена.
Информатика ЕГЭ | itpy
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥11🤯8
Друзья, открываю набор на подготовку к ЕГЭ по информатике на сезон 2025/2026!
❗️ Кол-во мест в этом году сильно ограничено, возьму 20 человек (отправляйте друзьям десятиклассникам).
Старт занятий: с 15 июля.
Занимаемся в парах — оптимальный формат для глубокого усвоения материала. Есть возможность прийти со своим другом.
Расписание: Занятия проходят 2 раза в неделю:
Формат: дистанционно, через Telegram, с видеоконспектами, ботом для домашних заданий и поддержкой в чате.
Прайс (занятие 60 минут):
О преподавателе или почему выбирают меня, читайте на Авито 🙋♂️
Записаться на бесплатное пробное занятие👨💻
Старт занятий: с 15 июля.
Занимаемся в парах — оптимальный формат для глубокого усвоения материала. Есть возможность прийти со своим другом.
Расписание: Занятия проходят 2 раза в неделю:
— понедельник / четверг
— вторник / пятница
Формат: дистанционно, через Telegram, с видеоконспектами, ботом для домашних заданий и поддержкой в чате.
Прайс (занятие 60 минут):
▪️ 2 занятия — 4000 ₽
▪️ 4 занятия — 7000 ₽
▪️ 8 занятий — 12000 ₽
Скидка 20% при покупке первого абонемента!
О преподавателе или почему выбирают меня, читайте на Авито 🙋♂️
Записаться на бесплатное пробное занятие
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍5🔥5