Русский
Открыть в Telegram

ВеткаЕсть идеи как можно ускорить перебор всех значений? lru_cache уже добавил, но все равно медленно и MemoryError

17 сообщений · –
Е
Фотография
нажмите — покажем
Есть идеи как можно ускорить перебор всех значений? lru_cache уже добавил, но все равно медленно и MemoryError
  1. 🍉
    Лучше подумай над алгоритмом
    1. Е
      Например? Предлагаешь оптимизировать саму рекурсивную функцию?
      1. 🍉
        Не перебором решить. Попробуй идти от четвёрки, применяя комбинации операций. Поиграйся с числовой прямой, посмотри каким образом число может попасть в 4
          1. 🍉
            Вот тебе подсказка: У тебя есть отправная точка (это 4) и две операции
            1. Е
              Почему отправная точка это именно 4? Мне же надо посчитать входные значения которые дают 4
              1. 🍉
                Тебе надо найти все N, которые "скатываются" в 4. Вместо перебора N, тебе надо идти от обратного, там сложность гораздо меньше
          1. K
            Правило Лопиталя, Вы увеличили карму 🍉 до 14632.88 (+13.21)
    1. Е
      Можно вообще тогда на C++ или Rust переписать, хочется продуманно оптимизировать
    2. 🍉
      Тут нужен другой алгоритм, а не брутфорс
  2. 🍉
    а, я задачу не так прочитал 😁 но если это помогло тебе придумать что-то, то я рад)
    1. Е
      Оказывается что эта функция возвращает на 1 больше чем количество единиц в двоичной записи исходного числа
  3. ⁣
    Такое обычно руками решают, берешь первые наборы входных параметров и смотришь, что там происходит. Обычно представлен какой-то базовый алгоритм или представлена некая зависимость, ака степени двойки. Почему так? Потому что иначе задача не решается не в лоб, а значит вообще не решается. Кароче надо научиться быстро искать зависимость выходного значения от входного
ССообщество Python ПрограммистовСообщество Python Программистов@python_scripts · группа · Технологии
4 169участников43пишущих за 30 дней
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем