Задание 25 // ЕГЭ по информатике 2024

  Рет қаралды 80,698

Алексей Кабанов

Алексей Кабанов

Күн бұрын

Разбираемся с числовой матчастью и поиском делителей.
ОТКРЫТЫЙ КУРС kompege.ru/course
За мат, КАПС, политоту, флуд - перманентный бан.
Связаться с автором: cabanovalexey
Группа ВК ege_info_open
Тренажёр КЕГЭ: kompege.ru
--------------------------------------------------------------------------------------------
Ссылки на каналы других годных преподавателей:
Евгений Джобс
/ @evgenijjobs
Информатик БУ
/ @infbu
Alex Danov
/ alexdanov
Андрей Рогов
/ devinf74
Ботай каждый день, глупый дурачок
/ @toadharvard
Таймкоды
00:00 Приветствие
02:10 Как искать делители числа
31:05 Делители числа 1
37:30 Делители числа 2
44:40 Делители числа 3
55:10 Делители числа 4
01:00:40 Делители числа 5
01:09:30 Как копировать ответы в станцию
01:11:50 Делители числа 6
01:16:35 Делители числа 7
01:24:35 Фильтрация делителей 1
01:33:40 Фильтрация делителей 2
01:37:50 Фильтрация делителей 3
01:44:00 Как определять простоту числа
01:51:35 Простые числа 1
01:55:15 Простые числа 2
02:01:00 Простые числа 3
02:06:45 Простые числа 4
02:13:20 Основная теорема арифметики
02:19:20 ОТА 1
02:26:25 ОТА 2
02:32:05 ОТА 3
02:36:40 ОТА 4
02:41:00 Окончание и напутствия

Пікірлер: 109
@user-yn6ux7xg1m
@user-yn6ux7xg1m 2 жыл бұрын
Алексей, ГИГАНТСКОЕ Вам СПАСИБО!!! Вы такой молодец! Все очень ясно, просто, понятно. Главное, только нужное, никакой лишней воды и дуратских имён переменных!!! Так держать!!! Смотрю многих. Вы явный ФАВОРИТ.
@Vorono4ka
@Vorono4ka 10 күн бұрын
а какие имена переменных дурацкие? если тут из одной буквы, то у кого-то из 0 букв? имена переменных наоборот лучше распространять максимально, чтобы можно было легко понять
@TGrod
@TGrod Жыл бұрын
Первый стрим, во время которого начал тупить) ОТА определённо крутая вещь, но задачи с ней - это просто нечто) Надо больше их порешать. Спасибо за информацию!
@Vorono4ka
@Vorono4ka 10 күн бұрын
ОТА это обалденно! Действительно интересная штука, особенно последняя задача
@user-kw2fo4gl6z
@user-kw2fo4gl6z 2 жыл бұрын
Алексей, БОЛЬШОЕ СПАСИБО за Ваш гигантский труд!
@zzzaharrr
@zzzaharrr 2 жыл бұрын
Спасибо, это КРУТО!)
@dunkeshn
@dunkeshn Жыл бұрын
Алексей, спасибо за прекрасное обьяснение. ЭТО БАЗА
@pgn55555
@pgn55555 Жыл бұрын
Алексей, спасибо большое! Наконец-то понял ОТА)))
@cmetanka3555
@cmetanka3555 Жыл бұрын
Алексей, ГИГАНТСКОЕ Вам СПАСИБО!!! Вы такой молодец! Все очень ясно, просто, понятно. Главное, только нужное, никакой лишней воды и дуратских имён переменных!!! Так держать!!! Смотрю многих. Вы явный ФАВОРИТ😄😁😆🤣😂🙂🙃😑😋😛😛😒😒🤑🤑🤑🤑😝
@sakamoto6014
@sakamoto6014 Жыл бұрын
🤣🤣🤣🤣🤣🤣😅😅😅😅😅😅😅😅😛😛😛😛😛😛😪😪😪😪😪😪😍😍😍😍😍😍
@exu118
@exu118 3 ай бұрын
🤭🤫🤧🤗😝😝🤭🥲😋😛😑😵‍💫🥴🥵😎🤕🤕🤒🤒😴😴😜🤪😜🤪
@krosh8982
@krosh8982 2 ай бұрын
😌😜🤕🤗🤮😷@@sakamoto6014
@RrRr-oy7py
@RrRr-oy7py Жыл бұрын
Крутой разбор, спасибо!
@vladislav6670
@vladislav6670 Жыл бұрын
Спасибо, Алексей)
@orlovchik
@orlovchik Жыл бұрын
ота сложна для понимания, так как наконец-то что-то интересное в егэ по инфе, но такой кайф, когда ее понял...
@nellaparrish9346
@nellaparrish9346 Жыл бұрын
Спасибо!!!
@chartusss8503
@chartusss8503 2 жыл бұрын
на ОТА я немного поплыл, а так все круто :)
@thibo9191
@thibo9191 Жыл бұрын
ота база
@dmitrydeff8364
@dmitrydeff8364 Ай бұрын
что такое ОТА?
@chartusss8503
@chartusss8503 Ай бұрын
@@dmitrydeff8364 основная теорема арифметики
@realMiska
@realMiska 15 күн бұрын
​@@dmitrydeff8364 основная теорема арифметики
@wywy3cee
@wywy3cee Жыл бұрын
На ОТА кокнуло
@dmitrydeff8364
@dmitrydeff8364 Ай бұрын
а это что?
@swag4297
@swag4297 11 ай бұрын
спасибо большооооое!!!!!
@okayeg1647
@okayeg1647 Жыл бұрын
Это основа, это база
@kev1n232
@kev1n232 Ай бұрын
Спасибо вам!
@user-zx7gk7ro3w
@user-zx7gk7ro3w 2 жыл бұрын
Спасибо
@neuwugenia
@neuwugenia 2 жыл бұрын
спасибо
@mr_spirit
@mr_spirit 11 ай бұрын
Вот вариант функции на поиск делителей реально в одну строчку и без set comprehension div = lambda n: sorted(i for x in range (2,int(n**0.5)+1) if n%x==0 for i in {x,n//x})
@blackraven3889
@blackraven3889 Жыл бұрын
ЛУЧШИЙ!
@user-xg3wh9zu1w
@user-xg3wh9zu1w Жыл бұрын
2:05:00 можно же не проверять, что простых делителей три, если они в произведении дают число, то значит их в любом случае три, 1 же не простое, иначе бы не хватило слагаемых в произведении
@kompege
@kompege Жыл бұрын
2**2 * 3**2 * 5**2 Простых делителей три но их произведение не равно числу.
@selor2440
@selor2440 11 ай бұрын
А можно проверить простоту чисел таким образом?: d = div(d) if len(d)==2 and 1 in d: (то есть у нас делители 1 и само число) Вернет тру или фолс или еще что-нибудь
@WellDone00
@WellDone00 2 жыл бұрын
спс
@proshka8375
@proshka8375 Жыл бұрын
По поводу нахождения простоты числа, можно же просто указать в условии предыдущей функции, что если длина строки d == 2, то это простое число?
@kompege
@kompege Жыл бұрын
Можно и так
@blsskid
@blsskid Жыл бұрын
Вот алгоритм поиска делителей быстрее def getDivs(N): factors = {1} maxP = int(N ** 0.5) p, inc = 2, 1 while p 1: factors.update([f * N for f in factors]) return sorted(factors) Тест скорости: from timeit import timeit N = 1010101 ** 2 print(timeit(lambda: getDivs(N), number=100)) # 0.0017 print(timeit(lambda: div(N), number=100)) # 8.3578283
@user-co2wj9kd6h
@user-co2wj9kd6h 13 күн бұрын
ужас
@Vorono4ka
@Vorono4ka 10 күн бұрын
интересный алгоритм, спасибо! но для экзамена конечно это чересчур
@GameChanger___
@GameChanger___ 12 күн бұрын
ОТА дается с трудом, но когда осознаешь её - получаешь интеллектуальный оргазм
@Asttttt
@Asttttt 2 жыл бұрын
Здравствуйте, Алексей. Помогите пожалуйста разобраться с 178 заданием. Тайм код : 1:43:21 От нас по условию требуют найти делители, среди которых есть число оканчивающееся на 8. То есть, среди делителей есть хотя бы одно число, которое оканчивается на 8. Но дальше, в решении, в генераторе, вы ставите такое условие (i%10==8), что отсеивает из списка делителей все, которые не оканчиваются на 8. Почему так? Разве из-за этого не теряются другие числа из этого списка? Нам же не говорят, что все числа должны оканчиваться на 8, а только то, что в списке есть такое число. Объясните пожалуйста, я похоже не понимаю условия. А так же ещё один момент в условии мне непонятен: ... при этом делитель не равен 8 и самому числу. Что значит самому числу? Я не понимаю эту запись.
@kompege
@kompege 2 жыл бұрын
1) Мы находим делители числа и фильтруем только те которые оканчиваются на 8. Смысл в том, что если у числа нет таких делителей, список будет пустой. А если они есть то список будет ненулевой длины. Именно такие числа мы ищем. 2) Например число 500008 не считается, так как у него только один подходящий делитель само число )
@Asttttt
@Asttttt 2 жыл бұрын
Понял, благодарю за объяснение.
@user-ed4mt5uv6w
@user-ed4mt5uv6w 9 ай бұрын
2:40:00 Почему мы увеличиваем степень тройки, вместо двойки? Если увеличить степень двойки число увеличится в 4 раза, а так в 9
@kompege
@kompege 9 ай бұрын
Потому что тогда 512 делителей не получится
@whiskasio6492
@whiskasio6492 Жыл бұрын
Алексей, хотелось бы узнать как и где научиттся решать примеры 25 задач с масками
@kompege
@kompege Жыл бұрын
В группе ВК есть видеоразборы задач
@whiskasio6492
@whiskasio6492 Жыл бұрын
@@kompege о, благодарю
@user-xg3wh9zu1w
@user-xg3wh9zu1w Жыл бұрын
Почему в функции div мы получаем список делителей, у нас же множество было? Или это sorted возвращает список, даже если ему множество дать как аргумент?
@kompege
@kompege Жыл бұрын
sorted возвращает список.
@user-ij4vw8hk7l
@user-ij4vw8hk7l 26 күн бұрын
почему мы не прибавляем единицу к степени двойки на 2:27:45 ? в принципе понятно, что прибавляем к остальным на уровне, потому что "оно работает" и "ответ получается верным"(
@kompege
@kompege 25 күн бұрын
+1 это вариант делителя с нулевой степенью простого числа. Мы считаем чётные делители, потому в них должна быть ненулевая степень двойки
@user-ij4vw8hk7l
@user-ij4vw8hk7l 24 күн бұрын
@@kompege поняла, спасибо!!
@user-ns9lg2bs1b
@user-ns9lg2bs1b Жыл бұрын
Прощу прощения, а разве на 1:43 . В строчке из под def ...: for i in range( ... ) " ... " здесь не должно быть 1, нам же не сказано, что мы срезаем первый и последний делитель)
@kompege
@kompege Жыл бұрын
1 не подходит под условие само число тоже
@zxcursedfan6144
@zxcursedfan6144 Жыл бұрын
41:11 а нельзя сделать просто if len(dev)==5: (то печатать, по сути же если чисел 5, то 1 и последнее это единица и само это число)?
@kompege
@kompege Жыл бұрын
Можно, но местами такое чревато
@user-yo8yi8zo8h
@user-yo8yi8zo8h 2 жыл бұрын
Алексей, подскажите, сколько по новой метрике дают за каждое задание первичных?
@kompege
@kompege 2 жыл бұрын
1-25 по 1 баллу; 26 и 27 по 2 балла
@kompege
@kompege 2 жыл бұрын
Не знаю и никто не знает )
@date8453
@date8453 11 ай бұрын
Сейчас в спешке изучаю последние задачи. Можете пожалуйста подсказать стоит ли сейчас учить ОТА? Дорешал до 19 задачи в домашке и поплыл конкретно. Вот теперь и думаю стоит ли столько времени сейчас тратить на ОТА
@kompege
@kompege 11 ай бұрын
Я думаю нет
@iabcesuu
@iabcesuu 26 күн бұрын
1:37:00 почему мы не учитываем, что в задаче написано, что для числа 36 учитываются только 12 и 18? получается же тогда ренж с двойки должен начинаться
@kompege
@kompege 26 күн бұрын
1 и само число отфильтруются, так как они не двузначные
@iabcesuu
@iabcesuu 26 күн бұрын
@@kompege спасибо ❤️
@user-ur5jh2zb2f
@user-ur5jh2zb2f 23 күн бұрын
1:48:25 - Где лучше нарешивать ЕГЭ?
@user-tb4eo6hw5v
@user-tb4eo6hw5v 11 ай бұрын
Здравствуйте! Почему на 2:28:52 приравниваем число всех делителей к трём, если кроме этих четных делителей есть ещё единица? она не входит в число всех делителей? Просто на 2:21:37 вы учитываете кроме нетривиальных делителей еще единицу и само число, а здесь - нет
@clashersupercelov2697
@clashersupercelov2697 11 ай бұрын
Это фигня.. Я вот не вдупляю как он ловко заменяет (a1+1), на а1
@kivi12587
@kivi12587 Жыл бұрын
1:26:30 Что сложного написать такой код?? def div(x): d = set() for i in range(1,int(x**0.5)+1): if x%i==0: if i%2==0: d.add(i) if (x//i)%2==0: d.add(x//i) return sorted(d)
@Vorono4ka
@Vorono4ka 10 күн бұрын
ничего сложного нет, но зачем изменять этот код, если можно гораздо легче и быстрее изменить результат этого кода с помощью генератора? вы когда делаете что-то, не лезете в библиотеку, чтобы поменять код под ваш особый случай
@Vorono4ka
@Vorono4ka 10 күн бұрын
Алексей сказал хорошие слова по этому поводу на 1:54:37
@hatee017
@hatee017 Жыл бұрын
1:30:00 а можно ускорить процесс как-нибудь? просто в задаче отрезок миллион
@kompege
@kompege Жыл бұрын
В конце видео показано как ))
@genichionifyol4741
@genichionifyol4741 Жыл бұрын
Алексей, почему в последней задаче на простые числа, при поиске делителей мы не учитываем единицу? Если её учитывать, то ответ будет такой: 450001 1 450002 225001 450004 225002 450006 225003 450007 26471 450008 225004 Я считаю, что это правильный ответ, так как у 450001 единица это наибольший делитель, не равный самому числу, который не является простым числом.
@kompege
@kompege Жыл бұрын
Единица это не простое число
@genichionifyol4741
@genichionifyol4741 Жыл бұрын
@@kompege Так в условии и сказано, что наибольший делитель не должен являться простым числом, поэтому единица подходит.
@kompege
@kompege Жыл бұрын
@@genichionifyol4741 почитайте пример в этой задаче пожалуйста
@user-xg3wh9zu1w
@user-xg3wh9zu1w Жыл бұрын
Зачем нам множество, если у нас и так по парам делители и мы идём до корня, то есть найдем просто все пары. Это для случая квадрата, когда у нас пара из двух одинаковых чисел?
@kompege
@kompege Жыл бұрын
да
@gleblatyshev7779
@gleblatyshev7779 10 ай бұрын
for j in range(193136, 193223 + 1): print(j) if len(sorted({b for i in range(1, int(j**0.5)+1) for b in {i, j//i} if j%b==0})) == 6 else "" - первое задание в одну строчку
@arctic8672
@arctic8672 Жыл бұрын
почему в задаче 146 у вас второй нетривиальный делитель нечетный, хотя по условию все три должны быть четные)
@arctic8672
@arctic8672 Жыл бұрын
А если у нас второй делитель четный,то получается что у нас уже 4 нетривиальных делителей, потому как у второго числа появится пара(делитель "4"),что за приколы, у задачи нет решения
@PIFAGORKRYT
@PIFAGORKRYT 2 ай бұрын
Здравствуйте, а почему второй по величине делитель - корень из x, у нас же делители: 2, 2p, 2p² время момента: 2:31:30
@kompege
@kompege 2 ай бұрын
Нетривиальные делители 2, p, 2p, p**2 Второй по величине это p
@timoha-03
@timoha-03 6 ай бұрын
2:22:45
@daniilk3373
@daniilk3373 2 жыл бұрын
Алексей, почему в 146 задании вы называете корень из x вторым по величине делителем?
@kompege
@kompege 2 жыл бұрын
Имеем делители 1, 2, p, p**2, 2p**2 Нетривиальные 2, p, p**2 Второй по величине это p, как раз корень.
@user-qj4xq7vq3k
@user-qj4xq7vq3k 2 жыл бұрын
@@kompege Может быть, я что-то не понял, но разве 2p не является тоже делителем?
@ilyavdovets1104
@ilyavdovets1104 2 жыл бұрын
Какой доской вы пользуетесь?
@kompege
@kompege 2 жыл бұрын
Open Board
@user-gy5kd8jx4f
@user-gy5kd8jx4f Жыл бұрын
Здравствуйте, 1:58:21 не могу понять почему p(i), а не p(x)
@kompege
@kompege Жыл бұрын
x это число получается число из диапазона 650000+ i это делитель числа x (потому что цикл for i in div(x) перебирает делители)
@user-gy5kd8jx4f
@user-gy5kd8jx4f Жыл бұрын
@@kompege , получается мы оставляем i для i в делителях числа, если числа в этом делители простые? Я правильно понял?
@kompege
@kompege Жыл бұрын
@@user-gy5kd8jx4f создаётся список из делителей числа x, которые проходят проверку простоты (простые делители x короче)
@user-gy5kd8jx4f
@user-gy5kd8jx4f Жыл бұрын
@@kompege спасибо большое,понял
@-maverick-991
@-maverick-991 4 ай бұрын
Стрим актуальный?
@kompege
@kompege 4 ай бұрын
Актуальный )
@user-ix6ep9zn8s
@user-ix6ep9zn8s 3 ай бұрын
До егэ 4 месяца
@catgo_cat
@catgo_cat 3 ай бұрын
страшна...
@user-ix6ep9zn8s
@user-ix6ep9zn8s 3 ай бұрын
@@catgo_cat очень
@h3nkyy
@h3nkyy Жыл бұрын
День до игэ я учу ота
@marssgm6499
@marssgm6499 Жыл бұрын
привет, как сдал?
@krosh8982
@krosh8982 2 ай бұрын
Тошнит от умников в чате, не дай бог таким же стать
@user-ie3rx3gh9m
@user-ie3rx3gh9m 3 ай бұрын
я прозрел
@user-vy1ts9pt6i
@user-vy1ts9pt6i Жыл бұрын
У меня у одного комп не вывозит миллионные итерации в цикле?
@mr_spirit
@mr_spirit 11 ай бұрын
Да, у одного
@user-gh1sg8zg6d
@user-gh1sg8zg6d Жыл бұрын
Алексей добрый вечер, остановился на Простых числах. И не очень понимаю зачем делать новую функцию. Ведь старая вполне справляется с простыми числами.def f(n): d = set() for i in range(2, int (n**0.5) + 1): if n % i == 0: d.add(i) d.add(n//i) return sorted(d) for i in range(4202865, 4202923 + 1): d = f(i) if not d: print(i)
@kompege
@kompege Жыл бұрын
можно и так иногда )
КУМИР НЕ НУЖЕН, когда есть PYTHON | Алгоритм 6 задания на ЕГЭ 2024
14:40
ИНФОРМАТИКА ЕГЭ 2024 99 БАЛЛОВ
Рет қаралды 30 М.
Follow @karina-kola please 🙏🥺
00:21
Andrey Grechka
Рет қаралды 11 МЛН
Uma Ki Super Power To Dekho 😂
00:15
Uma Bai
Рет қаралды 36 МЛН
Зу-зу Күлпәш. Агроном. (5-бөлім)
55:20
ASTANATV Movie
Рет қаралды 410 М.
Задание 6. ЕГЭ Информатика 2024. Новый разбор за 6 минут! КУМИР черепаха
5:40
Алексей Ковальчук | Персональный репетитор
Рет қаралды 10 М.
Задание 25. Маски. ЕГЭ по информатике 2022
31:37
Информатик БУ
Рет қаралды 16 М.
Демоверсия ЕГЭ 2024 ИНФОРМАТИКА | Задача №24 | Обработка строк
14:57
ИНФОРМАТИКА | ОГЭ & ЕГЭ | Войди в IT
Рет қаралды 30
Всё ОГЭ по информатике за 30 минут | Артём Фролов
33:55
Информатика ОГЭ Умскул
Рет қаралды 98 М.
Главная загадка квантовой механики
33:00
Задний двор Айлашкерского
Рет қаралды 33 М.
ВСЕ ТИПЫ 7 заданий | Информатика ЕГЭ 2023 | Умскул
47:36
Информатика ЕГЭ Умскул
Рет қаралды 159 М.
Задание 11 | ЕГЭ по информатике | ДЕМО-2024
4:18
Иван Викторович
Рет қаралды 30 М.
Задание 15 // КЕГЭ по информатике 2024
1:54:37
Алексей Кабанов
Рет қаралды 20 М.