Тёмный

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

Алексей Кабанов
Подписаться 37 тыс.
Просмотров 65 тыс.
50% 1

Разбираемся с различными способами подсчёта числовых траекторий.
За мат, КАПС, политоту, флуд - перманентный бан.
Связаться с автором: cabanovalexey
Группа ВК ege_info_open
Тренажёр КЕГЭ: kompege.ru
--------------------------------------------------------------------------------------------
Ссылки на каналы других годных преподавателей:
Евгений Джобс
/ @evgenijjobs
Информатик БУ
/ @infbu
Alex Danov
/ alexdanov
Андрей Рогов
/ devinf74
Ботай каждый день, глупый дурачок
/ @toadharvard
Таймкоды
00:00 Приветствие
02:30 Как решать руками пример 1
18:25 Как решать руками пример 2
22:25 Как решать руками пример 3
27:35 Как решать рекурсией пример 1
34:05 Как решать рекурсией пример 2
36:00 Как решать рекурсией пример 3
39:15 Как решать динамически пример 1
49:30 Как решать динамически пример 2
50:45 Как решать динамически пример 3
55:30 Число программ 1
01:01:10 Число программ 2
01:08:05 Число программ 3
01:17:10 Число программ 4
01:23:15 Число программ 5
01:27:45 Число программ 6
01:34:15 Число программ в двоичной записи
01:42:55 Условные команды
01:52:20 Конечное число по числу программ
01:59:05 Результат за N команд
02:06:40 Самая короткая программа
02:12:00 Число результатов за N команд
02:19:00 Число возможных результатов
02:27:25 Окончание и напутствия

Опубликовано:

 

25 апр 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 94   
@kennylux
@kennylux Год назад
"Я чувствую дистанционно, что кто-то нихрена не понял" Алексей слишком опытный учитель))
@gldn_drgn
@gldn_drgn 10 месяцев назад
Причём он почувствовал это сквозь время!(смотрю в записи)
@flersty
@flersty 2 года назад
Ждал рекламу, а она в самом конце, пришлось весь веб смотреть
@Vasilev_IT
@Vasilev_IT 2 года назад
Великолепный автор, контент качественный и самое главное что все объясняется понятно.
@user-jh9ht1rk5t
@user-jh9ht1rk5t 2 года назад
Конец марта, я все больше начинаю верить, что смогу сдать на 90+
@qwerty-ln9uq
@qwerty-ln9uq Год назад
смог?))
@user-jh9ht1rk5t
@user-jh9ht1rk5t Год назад
@@qwerty-ln9uq да, 93!!!!
@qwerty-ln9uq
@qwerty-ln9uq Год назад
@@user-jh9ht1rk5t красавчик)) поздравляю, хотя уже опоздал)
@haron3873
@haron3873 Год назад
@@user-jh9ht1rk5tкак ты думаешь, на 100 баллов можно? Щас только январь я +-23 задания могу делать
@user-jh9ht1rk5t
@user-jh9ht1rk5t Год назад
@@haron3873 конечно если будешь ботать, то спокойно сдашь
@whatis1210
@whatis1210 Год назад
Спасибо вам за старания!!! Вы лучший! Большое кол-во заданий вы объясняете оч подробно, но мне это нравится. Огромное спасибо за ваш труд❤‍🔥❤‍🔥❤‍🔥
@orehusLina
@orehusLina 2 года назад
какой же балдежный контент!!!!
@jur339
@jur339 2 года назад
Спасибо большое. Отличное объяснение
@oabugaeva
@oabugaeva Год назад
Огромное спасибо, все четко, по полочкам, с множеством примеров и разными вариантами решения .Круто!
@atikinich
@atikinich 10 месяцев назад
На егэ буду рекламровать Ваш сайт,потому что только эту информацию я воспринял отлично за все вебы и могу её применить ❤
@user-tt4ng7so7s
@user-tt4ng7so7s Год назад
Очень информативно, благодарю!
@AJICASH
@AJICASH Год назад
Единственное задание которое нам объяснили на курсах, которое я не понял(писали рекурсию в 20+ строчек), а тут понял, спасибо автору!
@Bkmz-eo2dp
@Bkmz-eo2dp 8 месяцев назад
Задачи с 2:00:00 по факту можно решить динамически, просто насчитывать две размерности. Например dp[num][cnt] - где num число, а cnt кол-во операций за которое мы добрались до текущего состояния. Пересчёт зависит от условия, но второй параметр мы всегда просто уменьшаем на единицу. Ответ хранится в dp[ число заданное в условии ] [ необходимое кол во команд ]
@monieKidd
@monieKidd 20 дней назад
Да!!!!
@Circassian_Warrior
@Circassian_Warrior Год назад
Ставим лайки за этот божественный курс
@KOTLYASHA
@KOTLYASHA Год назад
13:25 хорошо, что ты это дерево начертил, а то бы точно ничего бы не понял, спасибо!
@aufchk
@aufchk Год назад
Огромное спасибо за этот курс, в нём реально всё систематизировано рассказывается и от этого в башке всё укладывается прочно и надолго. Сам готовлюсь по нему заранее, надеюсь сдать на 90+ или на 100 даже, как получится)
@anarx15t85
@anarx15t85 Год назад
И чего, на сколько сдал?
@rediska231
@rediska231 Год назад
@@anarx15t85 в армии он теперь
@lil_fanera
@lil_fanera 11 месяцев назад
@@rediska231 F
@user-xn4dd7wo8x
@user-xn4dd7wo8x Год назад
Люблю тебя:3
@paradoxshi1328
@paradoxshi1328 2 года назад
спасибо огромное
@user-xg3wh9zu1w
@user-xg3wh9zu1w Год назад
43:00 нет, правда, это динамическое решение понятнее, очень напоминает номер с графами (13 вроде), и если рекурсия видится каким-то волшебным черным ящиком (ну сложно мозгу представить, куда она там в глубину уходит и как это всё считается), то здесь все намного прозрачнее
@povel4531
@povel4531 Год назад
Еще вариант решения, на примере первой задачи в compege дз, ну и для больших комбинаций не очень from itertools import product as pd def add(n):return n+1 def addThree(n):return n+3 def mult(n):return n*2 count=0 for q in range(1,15): //длина комбинации(самый длинная комбинация, если постоянно прибавлять по одному) for x in pd([add,addThree,mult],repeat=q): n=1 for y in x: n=y(n) count+=n==15 print(count)
@tall_guy81
@tall_guy81 Год назад
В последнем задании достаточно написать: k = 0 for I in range(6,100,6): k+=1 print(k)
@monieKidd
@monieKidd 20 дней назад
Решил динамически последние задачки на кол-во шагов, нужно просто аккуратно выполнять счёт чисел шаг за шагом: a = [[0] * 25 for i in range(1, 25)] a[0][1] = 1 # structure -> a[step][number] for step in range(10): for i in range(1, 20): if i + 1
@monieKidd
@monieKidd 20 дней назад
даже корректнее будет так для верного подсчета шагов: a = [[0] * 25 for i in range(1, 25)] a[0][1] = 1 for step in range(1, 10): for i in range(1, 20): if i + 1
@user-ly3ln7rr2s
@user-ly3ln7rr2s Месяц назад
2:03:47 так если условия переписать, то и ошибки не будет. Какой смысл от if if if, когда на этом примере с головой хватает стандартной if elif else. Зато на последнем примере if if реально мастхев
@user-pw5pm3eu2y
@user-pw5pm3eu2y 2 года назад
Спасибо!
@selor2440
@selor2440 10 месяцев назад
Решение для задачи на 2:19:10, функция обычная просто в цикле шаг и условие добавить, нам же длина не важна, главное чтобы можно было получить число, то есть любая длина кроме 0: def f(x, y): if x > y: return 0 if x == y: return 1 if x < y: return f(x+3, y) + f(x*3, y) k=0 for i in range(4, 100, 2): if f(3, i) != 0: k+=1 print(k)
@krosh8982
@krosh8982 16 дней назад
27 задание: Крылов перепутал номера заданий, помоги ему определить реальный номер позиции для заданий
@shardoff3532
@shardoff3532 2 года назад
Жесть, наконец то я понял
@Master_WOR
@Master_WOR Год назад
как же хорошо, что я смотрю в записи и могу пропускать динамическое решение)
@user-xg3wh9zu1w
@user-xg3wh9zu1w Год назад
а зачем его пропускать? 0_o
@bombilovka16gd17
@bombilovka16gd17 Год назад
@@user-xg3wh9zu1w ,зачем оно нужно в данный момент, если тебе рекурсия дается проще и легче, я, конечно, понимаю , что это может потребоваться в будущем(в вузе), но за 4 дня это уж точно будет лишней информацией.
@GameChanger___
@GameChanger___ 15 дней назад
Решение 113 задачи по-моему просто повторяет принцип решения 18 номера, который в таблицах решается
@doshchepkov637
@doshchepkov637 Год назад
Извините, а где можно найти рекурсивное решение на пример, где нужно, чтобы не повторялись подряд одни и те же действия, или, например, где должно быть не более 3 действий сложения?
@kompege
@kompege Год назад
Посмотрите разборы Статградов
@gmaxone8240
@gmaxone8240 2 года назад
В последней задачке можно было не запариваться и решить по старинке: def f(x,y): if x>y: return 0 if x==y: return 1 return f(x+3,y) + f(x*3,y) k = 0 for y in range(4,100): if y % 2 == 0: if f(3,y) > 0: k += 1 print(k)
@user-gb8wj4se9n
@user-gb8wj4se9n Год назад
А если совсем не запариваться, то можно заметить, что все искомые числа кратны трём и чётны, т.е., кратны шести, а так же не превышают 100. Т.е. это 6, 12, 24...., 96. Всего 96/6=16.
@MARIMARI-hu3nz
@MARIMARI-hu3nz Год назад
Вроде бы легко, а вроде бы нет☠☠☠ Осталось 6 месяцев, надеюсь сдам экз на 90+
@kompege
@kompege Год назад
Ты сдашь на сто 😎
@Unknown_-ol3ql
@Unknown_-ol3ql Год назад
35:10 А можно было написать в начале функции "if curr != 4:" и в конце функции : "else: return 0"?
@kompege
@kompege Год назад
наверное
@kev1n232
@kev1n232 2 месяца назад
Все четко и понятно, всем соток на егэ
@user-jd9mu4dd3c
@user-jd9mu4dd3c Месяц назад
успеем за 3 месяца?
@kev1n232
@kev1n232 Месяц назад
@@user-jd9mu4dd3c да, 100 баллов в сумме трех точно успеем
@user-jd9mu4dd3c
@user-jd9mu4dd3c Месяц назад
ну, уже не так плохо@@kev1n232
@kirieshka174-ns7yb
@kirieshka174-ns7yb День назад
лучший лучший лучший
@wasderlord1243
@wasderlord1243 17 дней назад
почему в 2:11:33 мы используем такое большое число в первом ретерне, можно еще раз объяснить, это для того, чтобы функция никогда не остановилась прежде временно или как?
@kompege
@kompege 16 дней назад
Это значение - заглушка, которое подбирается так, чтобы не повлиять на ответ
@GameChanger___
@GameChanger___ 15 дней назад
Это чтобы значение точно не прошло при вызове функции min()
@wasderlord1243
@wasderlord1243 14 дней назад
@@kompege Спасибо огромное!
@wasderlord1243
@wasderlord1243 14 дней назад
@@GameChanger___ Спасибо огромное тоже
@jana_jana2939
@jana_jana2939 Год назад
Помогите пожалуйста, что делать, если нужно ограничить число программ, выполнение которых выдает заданное число? Мне попалась задача, в которой нужно посчитать колво комбинаций программ (+3, *4, *5), которые превращают 1 в 4400, при этом программ должно быть ровно 70. Что делать в таком случае?
@kompege
@kompege Год назад
В этом стриме разбиралось решение похожей задачи def f(c,e,s): if c>e or s
@jana_jana2939
@jana_jana2939 Год назад
@@kompege спасибо большое!! Значит, я проглядела эту задачу..
@cuntcant7951
@cuntcant7951 2 года назад
2:07:45 Решаем задачку на кол-во шагов. Заметил, что вы начали с step=0. Это не ошибка? Ведь, когда мы начинаем прогу, уже 1 шаг совершаем
@kompege
@kompege 2 года назад
Шаг - это подвызов функции с большим значением. В начальный момент подвызовов нет.
@vihapp4634
@vihapp4634 Год назад
Здравствуйте! Не могу понять почему умножаем на 2, а не +2 число с 0 не начинается значит стоит 1(второе действие) справа 0. 10 переволи в 2сс ==2. c+2(а почему мы именно умножаем). Вот этот момент ru-vid.com7WPN3t6vCSs?feature=share&t=6122
@kompege
@kompege Год назад
1010 -> 10; 10100 -> 20 111 -> 7; 1110 -> 14 Понятно?
@GameChanger___
@GameChanger___ 15 дней назад
1:06:30 Разве тут не нужно учесть, что команды "Прибавить на 3" и "Умножить на 2" при текущем числе 3 обе дают 6 и не надо их два раза подсчитывать?
@kompege
@kompege 15 дней назад
Это две разные траектории в одно число
@GameChanger___
@GameChanger___ 15 дней назад
@@kompege Понял. Сначала подумал, что надо последовательности чисел посчитать
@user-xj9jm8qu2q
@user-xj9jm8qu2q 10 месяцев назад
завтра егэ, самое время начать подготовку
@crushitelyoutuba
@crushitelyoutuba 6 месяцев назад
как сдал?
@Sp-yr9ph
@Sp-yr9ph 2 года назад
Так сказать: Лол, 5 строчек
@niksha6099
@niksha6099 Год назад
💥
@user-my3pp9lq9d
@user-my3pp9lq9d 2 года назад
понятно
@superstarro
@superstarro Год назад
если честно , каждый урок кто то говорит про числа фибоначчи, хочется толстой умной книгой дать по голове тому кто опять говорит про числа фибоначчи, такое ощущение кто то кому-то показал как их считать и все , все везде это пихаем )
@doshchepkov637
@doshchepkov637 Год назад
с тайминга 2:12:10 интересная идея для решения, но ответ не сходится, не знаю почему
@doshchepkov637
@doshchepkov637 Год назад
a=set() from itertools import product for i in product("153",repeat=4): s="".join(i) if "1" in s: s=s.replace("1","+1") if "5" in s: s=s.replace("5","+5") if "3" in s: s=s.replace("3","*3") otv="1"+s a.add(eval(otv)) print(len(a))
@mvrk6611
@mvrk6611 Год назад
Какая из этих может на егэ попасться? Досрочный егэ такой же, как и основной?
@user-ln9qj6yn4r
@user-ln9qj6yn4r 2 года назад
Сделайте пожалуйста разбор 17 задания с таким заданием в котором - ". В данной задаче под парой подразумевается два различных элемента последовательности. ". Вот само задание ---В файле содержится последовательность из 10 000 целых положительных чисел. Каждое число не превышает 10 000. Определите и запишите в ответе сначала количество пар элементов последовательности, для которых произведение элементов делится без остатка на 10, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два различных элемента последовательности. Порядок элементов в паре не важен.
@kompege
@kompege 2 года назад
С таким вопрос вам надо в нашу группу ВК 😉
@niksha6099
@niksha6099 Год назад
Вот почему всё понятно ровно до без 30 мин до конца, а в конце стрима понятно, что нихрена не понятно ?
@user-di3ov6fe6b
@user-di3ov6fe6b Год назад
через лямбду функцию очень быстро
@user-xg3wh9zu1w
@user-xg3wh9zu1w Год назад
лайк
@user-gt3ks9xz3s
@user-gt3ks9xz3s Год назад
Еще один способ для 113 задачи(ответ дает верный) from functools import * @lru_cache(None) def f(x, y, k): global a if x > y: return 1 elif x == y: a.append(k) return 1 else: return f(x+1, y, k+1) + f(x+5, y, k+1) + f(x*3, y, k+1) a = [] f(1, 227, 0) print(min(a))
@kompege
@kompege Год назад
только я бы использовал множество, а не список. Если вдруг есть одинаковые результаты, то ответ будет неверный.
@user-gt3ks9xz3s
@user-gt3ks9xz3s Год назад
@@kompege Да, спасибо
Далее
1 класс vs 11 класс (рисунок)
00:37
Просмотров 743 тыс.
Manam boraman🤣
01:01
Просмотров 218 тыс.
1 класс vs 11 класс (рисунок)
00:37
Просмотров 743 тыс.