ОЛИМПИАДНЫЙ РЯД, КОТОРЫЙ НИКТО НЕ РЕШИЛ! | ШАД ЯНДЕКС

Поделиться
HTML-код
  • Опубликовано: 25 ноя 2024

Комментарии • 93

  • @Profimatika_vyshmat
    @Profimatika_vyshmat  Месяц назад +14

    Закреплю коммент того человека, кто найдет явное выражение для f(n), дерзайте)

    • @101picofarad
      @101picofarad Месяц назад +1

      Закрепи еще и тот, в котором будет описана практическая польза от этого ряда ;)
      Это ведь как-то связано с анализом данных, да?

    • @maxm33
      @maxm33 Месяц назад

      Выражение в элементарных функциях и арифметических операциях? )

    • @Бываеттак-ь7л
      @Бываеттак-ь7л Месяц назад +1

      Иди в пень

    • @МихаилФирсов-з1л
      @МихаилФирсов-з1л Месяц назад +1

      Когда-то решал такую задачу.
      Есть программистский вариант решения.
      n >= 1
      r = floor(log2(n)) + 1 - количество двоичных разрядов
      p = n-2^(r-1) - позиция числа в диапазоне [2^(r-1); 2^r) , p \in [0; 2^(r-1) )
      f(n) = 1 + floor((p+1)/2) - sum( i=2 to r-1, floor(p/2^i) )

    • @usikpa
      @usikpa Месяц назад +1

      en.wikipedia.org/wiki/Hamming_weight

  • @АльтаирАшуров
    @АльтаирАшуров Месяц назад +30

    f(n)/(n(n+1)) это тоже самое что будто бы значение 1/(n(n+1)) посчиталось от каждого единичного бита числа n.
    тогда можно фиксировать бит k, и просто считать сумму по всем n таким что бит k есть в числе n
    получается мы посчитаем 1/(n(n+1)) от всех чисел в которых бит k есть и так сделаем для каждого бита
    бит k впервые встречается у числа 2^k, и после этого пропадает на числе 2*2^k, потом появляется у 3*2^k, пропадает в 4*2^k и так далее
    1/(n(n+1)) = 1/n - 1/(n+1) тогда сумма таких значений для чисел между 2^k и 2*2^k будет равна 1/2^k - 1/2*2^k
    по итогу для фиксированного бита k сумма по n выходит вот такая:
    1/2^k - 1/2*2^k + 1/3*2^k - 1/4*2^k .... = 1/2^k * (1/1 - 1/2 + 1/3 - 1/4 + 1/5 ...) = ln(2) / 2^k
    а сумма по всем возможным k будет равна ln(2) * 2 = ln(4)

    • @elgracho
      @elgracho Месяц назад +1

      охренеть..

    • @TheDanchoSuper
      @TheDanchoSuper Месяц назад

      салам ты из ну, просто имя очень знакомое? какой грейд у тебя по Калкулусу?

    • @ПавелБережной-ц3г
      @ПавелБережной-ц3г Месяц назад

      Креативно, респект

  • @stark8593
    @stark8593 Месяц назад +35

    Ролики на этом канале это единственная причина, почему я не покидаю ютуб

    • @TheBishop_2051
      @TheBishop_2051 Месяц назад

      зови автора на рутуб)

  • @5735zzzlo
    @5735zzzlo Месяц назад +5

    Как ни странно, но смотрится на одном дыхании. Очень красивая задача с красивым ответом. Спасибо автору.

  • @Павел-в2щ
    @Павел-в2щ Месяц назад +7

    Так можно решить в две строчки, если суммировать поразрядно. Скажем, для 3-го разряда имеем после сокращений 1/4 - 1/8 + 1/12 - 1/16 + ... = S/4, где S = 1 - 1/2 + 1/3 - 1/4 + ... = ln 2.
    А для k-го разряда сумма равна S / 2^(k-1). Суммирование по k очевидно даст 2S = ln4.

    • @stas4017
      @stas4017 Месяц назад

      я также решал. Можно представить f(n) в виде бесконечной суммы с нулевым хвостом f(n) = sum f_k(n), где f_k(n) - kй бит числа n. Потом меняем местами знаки суммирования и получается то же самое

  • @РомаСоловьёв-с1у
    @РомаСоловьёв-с1у Месяц назад +1

    По чаще такие задачи, интересно смотреть

  • @fedkaminskiy
    @fedkaminskiy Месяц назад +3

    Очень классное решение! Обожаю ваш канал, лучшие❤

  • @АртемВирский
    @АртемВирский Месяц назад +5

    Как я не угадал с видео.... Включил, что б заснуть под какую-нибудь математику. А задачв оказалась настолько интересной, что наоборот расшевелила мозг.

  • @TUZZ5000
    @TUZZ5000 Месяц назад +2

    Спасибо!
    Видео смотрел как фильм с непредсказуемой концовкой. На одном дыхании)
    Ожидал что ответ будет -1/12 или 3,1415.. , но ln4 тоже неплохо.
    Когда решаю сложные задачи по программированию, тоже часто приходится искать паттерны, цикличности, преобразования. И я искренне понимаю какой кайф, когда наконец нашел решение и ускорил функцию во много раз.

  • @МихаилКолеватов-у6д
    @МихаилКолеватов-у6д Месяц назад +4

    12:35 потому что при умножении на 2 происходит побитовый сдвиг на 1 разряд влево, вот и количество не меняется

  • @vovatereshkin3080
    @vovatereshkin3080 Месяц назад

    Мне ролик понравился.
    Я пытаюсь поставить и решить подобную задачу.
    Разрядность двоичного числа связана с выборками.
    А это горизонтали треугольника Паскаля.
    Эту часть задачи я решил.
    В моей задаче просматриваются ряды.
    Так что ролик уважаемого автора я использую в качестве импульса для решения своей задачи.
    Я не математик, я фермист.
    Это даёт возможность без угрозы для репутации высказать предположение:
    Ноль может быть мнимым.
    Мне кажется я это доказал.
    Конечный вывод звучит так:
    Единица в степени "мнимый ноль" равна вещественной оси!
    А гипотеза звучит так: на пересечении вещественной и мнимой осей существует два нуля: "действительный ноль" и "мнимый ноль".
    Эта гипотеза всплыла при решении моей задачи.

  • @zerochannel6686
    @zerochannel6686 Месяц назад +1

    Это божественно лучшее, что я видел в своей жизни

  • @gopstr
    @gopstr Месяц назад +1

    Красиво. Спасибо за видео!

  • @المجدللشعبالسوري
    @المجدللشعبالسوري Месяц назад

    Спасибо, как раз не понимал тему перевода из двоичной в шестнадцатеричную систему счисления

  • @stanislavbutsky8432
    @stanislavbutsky8432 Месяц назад +3

    В целом было очень интересно. Для меня сложным показалось "угадать" ряд Тейлора для логарифма, я их все забыл за прошедшие 32 года.

  • @MathPTU
    @MathPTU Месяц назад +2

    отлично, действительно красивое решение, не знаю как в яндексе предполагали, чтобы это решали, видимо к шаду нужно готовиться как к олимпиаде...

  • @dog-foxfo2887
    @dog-foxfo2887 Месяц назад +8

    без ежа ничего не понял

  • @ЕвгенийАристов-и5г
    @ЕвгенийАристов-и5г Месяц назад +1

    Количество единиц для первых 7 чисел равно 12, для первых 15 чисел равно 32, для первых 31 чисел равно 80, а в общем для первых (2в n степени -1)чисел равно n÷2×(2 в n степени), например 5÷2×32=80, 4÷2×16=32, 3÷2×8=12, 2÷2×4=4, 1÷2×2=1.

  • @dobrekzz
    @dobrekzz Месяц назад +1

    Классная задача, тож оч понравилась, видос кайф

  • @Pizhdak
    @Pizhdak 15 часов назад

    Легчайше, решил без видео) Там еще когда был удвоенный ряд +1, единицу можно было в него запихать, сделав суммирование от n=0

  • @MicheRR
    @MicheRR Месяц назад

    перестал в себя верить, как в будущего математика-физика-инженера. появляются мысли, что это не моё. но вот твои видео ещё вселяют надежду, что это все не зря.
    а задача реально классная.

  • @Math_is_my_lady
    @Math_is_my_lady Месяц назад

    Классная задача. Спасибо!

  • @НикитаВасильев-в7и
    @НикитаВасильев-в7и Месяц назад +2

    какая красота

  • @Rome.Legion
    @Rome.Legion Месяц назад

    Крутой канал, вспомнил универ !)

  • @michaelbuzuverov67
    @michaelbuzuverov67 Месяц назад

    Как-то грустно было доказано что f(2n)=f(n), а f(2n+1)=f(n)+1. На самом деле там все просто. Умножение на два в двоичной системе - это дописать к концу числа 0. Очевидно что такое действие не меняет количество единиц в числе. А 2n+1 - это дописать к концу числа единицу. И очевидно, что такое действие увеличивает число единиц на одну. То есть заметить паттерн - отличный момент для начала, но затем это можно просто свести к двум операциям - приписывание нуля и приписывание единицы.

  • @КириллКрыжановский-к9з

    Ну в целом бинарные ствига так работают, что удвоенное числа не меняет количество единиц в его двоичной записи. Потом дойти до того, что колво единиц у нечетного числа на 1 больше чем четного оже можно. Но как сходу это заменить - это я не знаю. Зато когда с дивана смотришь все понятно и такой, ну да, тут все верно))

  • @СтаниславСерегин-р4ч

    Сразу приходит в голову сменить порядок суммирования. Сначала сумма по всем числам с одной единицей, затем с двумя и т.д. Не считал, но должно несложно получиться.

  • @operator3577
    @operator3577 Месяц назад

    По крайней мере для чисел вида 2^n, f(n) вернёт 1, а там остаётся лишь проанализировать числа иных видов ¯\_(ツ)_/¯

  • @sto_k1357
    @sto_k1357 27 дней назад

    1:18 Все чиселки переберем. Оптимистично...

  • @OlegLomakin756
    @OlegLomakin756 Месяц назад

    Был у меня как-то ряд n от 2 до бесконечности 1/(ln^2(2)+ln^2(3)+…ln^2(n)) так я его чет взять и не смог
    P. S. Для поднимания, при n=2 будет 1/ln^2(2)
    При n=3 будет 1/ln^2(2)+1/(ln^2(2)+ln^2(3))

  • @SunakSunak-b9t
    @SunakSunak-b9t Месяц назад

    Число едениц стремится к половине от логарифма по основанию 2

  • @Homomorph
    @Homomorph Месяц назад +6

    f(n) -- это функция Хэмминга(Hamming weight(x)). Её нельзя представить в явном виде, а только через рекурсию.

    • @petuhatopovich7372
      @petuhatopovich7372 Месяц назад +2

      Ну как бы i-ый разряд числа n в двоичном виде = floor(n / 2^i) mod 2 (считая с нуля справа налево), соответственно количество единиц - это сумма по i от 0 до 2 ^ floor(log2(n))

    • @ЮраНазаров-э9с
      @ЮраНазаров-э9с Месяц назад

      ​@@petuhatopovich7372 под явным видом представления подразумевается использование только элементарных функций

    • @Homomorph
      @Homomorph Месяц назад

      ​​@@petuhatopovich7372 Да, похоже, ты прав, но сомневаюсь, что это бы помогло решить задачу таким способом (по крайней мере это будет сложнее).😅

  • @SunakSunak-b9t
    @SunakSunak-b9t Месяц назад

    Количество едениц не превышает логарифма по основанию 2, потому ряд сходится. Программу надо написать и посчитать

  • @begula_chan
    @begula_chan Месяц назад

    Очень красивая задача) Но и правда сложно

  • @MishinSA
    @MishinSA Месяц назад

    Симпатично!

  • @xMORAENNx
    @xMORAENNx Месяц назад

    Побуду немного душным. Когда доказывал сходимость, забыл сказать, что ряд ограничен снизу. Ведь в ином случае он мог бы уходить в минус бесконечность

  • @MrHellko
    @MrHellko Месяц назад

    Кажется что для программиста увидеть что f(2n) = f(n) не составит труда, ведь это просто смещение влево на 1 разряд.
    То что f(2n+1) = f(2n) + 1 тоже, ведь мы просто в последнем бите заменяем 0 на 1.

  • @sagdtadjimuratov129
    @sagdtadjimuratov129 29 дней назад

    Совы нет, вот поэтому ты мучился так долго😊

  • @ВадимБекетов-г4к
    @ВадимБекетов-г4к Месяц назад

    Можете поделится опытом использования платного вольфрама? Думаю покупать или нет, а в интернете нормального обзора нет(

    • @Profimatika_vyshmat
      @Profimatika_vyshmat  Месяц назад

      @@ВадимБекетов-г4к я более чем доволен)
      Step by step solution часто выручает, чтобы быстро решить какой-то диффур или интеграл)

    • @ВадимБекетов-г4к
      @ВадимБекетов-г4к Месяц назад

      @@Profimatika_vyshmat благодарю!!!

  • @РоманРузанкин-у1д
    @РоманРузанкин-у1д Месяц назад +1

    Ещё можно заметить, что эта функция сохраняет операцию сложения

    • @outerrrr
      @outerrrr Месяц назад

      f(1 + 1) ≠ f(1) + f(1)

    • @РоманРузанкин-у1д
      @РоманРузанкин-у1д Месяц назад

      @@outerrrr а, да. Тогда можно сказать, что она сохраняет сумму только для сумм из степеней двойки, кроме степени 0.

  • @silendil
    @silendil Месяц назад

    Так логорифм по основанию 2 это логорифм деленый на логорифм 2. Вот логорифм 2 и выполз

  • @Tyvzar
    @Tyvzar Месяц назад

    Красивая задача и красивоет решение!
    Высыпайтесь )

  • @laletonio
    @laletonio Месяц назад

    А подскажи пожалуйста, в какой программе ты пишешь?

    • @ryakhovskiyy
      @ryakhovskiyy Месяц назад

      Это Goodnotes. Приложение для iPad, но вроде щас и на Samsung можно. Хорошее приложение. На Android аналог хороший - touchnotes

  • @ЛевВладимиров-й7з
    @ЛевВладимиров-й7з Месяц назад +2

    Решил минут за 20, не верю, что в ШАДе никто не решил. Задача же вообще читается по структуре

    • @no_name128
      @no_name128 Месяц назад +2

      Просто автор нашел альтернативное, красивое и не очевидное решение, но при этом не нашел прямолинейное решение через поразрядную сумму, которым я думаю все и решали

    • @СтаниславВокеутов-ю2э
      @СтаниславВокеутов-ю2э Месяц назад

      ​@@no_name128что за поразрядная сумма?

  • @Homomorph
    @Homomorph Месяц назад +1

    Зашёл посмотреть на математику, а вижу как причёсывают сумму😅

  • @OlegLomakin756
    @OlegLomakin756 Месяц назад

    Браво

  • @Mr.Not_Sure
    @Mr.Not_Sure Месяц назад +1

    Решил минут за 20 в уме. Из них 3 минуты ушло, чтобы сообразить, что ответ равен:
    (1 + 1/2 + 1/4 + 1/8 + ...)×(1 - 1/2 + 1/3 - 1/4 + 1/5 - ...),
    а остальное время скрипел мозгами, вспоминая, что второй множитель равен ln2 и как это вывести...
    Причём минут 15 думал, что второй ряд равен arctg1=π/4, и пытался это доказать 🤦‍♂️
    Если в ШАД никто не решил, то это позор.

  • @andreiantonov7303
    @andreiantonov7303 Месяц назад +3

    *решение o1-preview:*
    Чтобы найти сумму ряда S = ∑(n=1 до ∞) f(n) / (n * (n+1)), где f(n) - это количество единиц в двоичном представлении числа n, используем преобразование:
    1 / (n * (n+1)) = 1/n - 1/(n+1)
    Теперь сумма превращается в:
    S = ∑(n=1 до ∞) f(n) * (1/n - 1/(n+1))
    Разложим сумму:
    S = ∑(n=1 до ∞) f(n)/n - ∑(n=1 до ∞) f(n)/(n+1)
    Во втором сомножителе меняем индекс (k = n + 1):
    S = ∑(n=1 до ∞) f(n)/n - ∑(k=2 до ∞) f(k-1)/k
    Теперь можно записать:
    S = f(1)/1 + ∑(n=2 до ∞) (f(n) - f(n-1))/n
    Исследуем разность f(n) - f(n-1). При увеличении n на 1 количество единиц в двоичном представлении меняется на +1, 0 или отрицательное число.
    Далее заметим, что сумма положительных членов сходится к (\ln(2)), поскольку она связана с рядом обратных нечётных чисел, а отрицательные члены компенсируют излишки. В результате можно показать, что общая сумма сходится к (ln(4)).
    *Ответ: ln 4*
    В общем я понял, что все эти олимпиадные задачи для нейросетей ерунда, надо что-то принципиально более сложное.

    • @Profimatika_vyshmat
      @Profimatika_vyshmat  Месяц назад +1

      @@andreiantonov7303 на моменте разложения суммы неверно, так как это оба расходящихся ряда)

    • @andreiantonov7303
      @andreiantonov7303 Месяц назад +3

      @@Profimatika_vyshmat Тогда вот решение o1-mini, обычно он выдаёт более качественный ответ:
      Чтобы найти сумму ряда S = ∑(n=1 до ∞) f(n)/(n*(n+1)), где f(n) - это количество единиц в двоичном представлении числа n, воспользуемся следующими шагами.
      *Шаг 1: Разложение* 1/(n*(n+1)) Заметим, что: 1/(n*(n+1)) = 1/n - 1/(n+1) Тогда сумма S может быть переписана как: S = ∑(n=1 до ∞) f(n)/n - ∑(n=1 до ∞) f(n)/(n+1) Сдвинем индекс во второй сумме: S = f(1) + ∑(n=2 до ∞) (f(n)/n - f(n-1)/n) = 1 + ∑(n=2 до ∞) (f(n) - f(n-1))/n
      *Шаг 2: Свойства f(n) - f(n-1)* Разница f(n) - f(n-1) связана с количеством незначащих единиц в двоичном представлении числа n-1. Если n-1 оканчивается на t единиц, то: f(n) - f(n-1) = 1 - t
      *Шаг 3: Перестановка сумм* Используем представление f(n) как суммы битов: f(n) = ∑(k=0 до ∞) b_k(n), где b_k(n) - это k-ый бит числа n.
      Таким образом, сумма S может быть представлена как: S = ∑(k=0 до ∞) ∑(n: b_k(n)=1) (1/n - 1/(n+1))
      *Шаг 4: Вычисление внутренней суммы* Для каждого бита k множество чисел n, у которых b_k(n) = 1, повторяется с периодом 2^(k+1). Внутренняя сумма для фиксированного k выглядит как: S_k = ∑(m=0 до ∞) (1/(m*2^(k+1) + 2^k) - 1/((m+1)*2^(k+1))) Эта сумма стремится к: S_k = ln(2)/2^k
      *Шаг 5: Суммирование по всем битам* Итоговая сумма S равна: S = ∑(k=0 до ∞) S_k = ∑(k=0 до ∞) ln(2)/2^k = 2*ln(2)
      *Проверка:* Частичные суммы S_8 ≈ 1.38175, а 2*ln(2) ≈ 1.38629, что подтверждает правильность расчета.
      *Ответ:* Сумма ряда равна 2*ln(2).

    • @crazycat1503
      @crazycat1503 Месяц назад

      ​@@Profimatika_vyshmat если пропустить это действие, то будет верное преобразование в сумму f(n)-f(n-1)/n

  • @protasoff4712
    @protasoff4712 Месяц назад

    Знающие люди, подскажите, пожалуйста, каким приложением для записей пользуется автор?

  • @elisorium
    @elisorium Месяц назад

    С функцией Хэмминга всё понятно, но Ёж-то где? 😅

    • @DB-zz8zm
      @DB-zz8zm Месяц назад +1

      Ёж наверно заснул и свалился под стол. Либо сложность задачи перегрела ему мозг и он свалися под стол. Короче, ёж под столом.

  • @dadyrole
    @dadyrole 4 дня назад

    5:45😂

  • @ALPHA-zq5gv
    @ALPHA-zq5gv Месяц назад +1

    круто

  • @Anti_During
    @Anti_During Месяц назад

    Не спойлер, а инсайд ;)

  • @heavis
    @heavis Месяц назад

    Единственная обратная связь, которую я могу тут дать: даже еж спать ушёл, автор, высыпайся!

  • @bigsiege7684
    @bigsiege7684 Месяц назад

    С ежом бы максимум до 2 ночи задержался.

  • @Сергей-м1н8ъ
    @Сергей-м1н8ъ Месяц назад +1

    Без ежа ничего не понятно.

  • @JonDFG
    @JonDFG Месяц назад

    Что за программа?

  • @skatina2477
    @skatina2477 Месяц назад

    У тебя ряд не сходится абсолютно, при этом в ходе решения ты переставлял его члены. Решение не верное)

    • @Profimatika_vyshmat
      @Profimatika_vyshmat  Месяц назад

      Изначальный ряд сходится абсолютно, я это показал в процессе решения)