• Как уменьшить диапазон поиска для неизвестного числа?

    wataru
    @wataru Куратор тега Математика
    Rsa97, по-моему, этот кадр уже был здесь несколько месяцев назад с несколькими похожими вопросами. Собственно задачу так и не рассказал ни разу, а только намеками. Чувак явно ломает криптографию и держит в тайне свою гениальную идею.
    Написано
  • Как уменьшить диапазон поиска для неизвестного числа?

    wataru
    @wataru Куратор тега Математика
    HrustHr, вот вам аналогия вашего вопроса: мне надо найти убийцу из 100000 жителей города. Как не опрашивать всех, а только 10 человек? Ответ - никак. Если вам не известно какое-то еще свойство убийцы (например, кто-то видел мужика в черной куртке), то никак.
    Написано
  • Как убрать time.sleep() или чем его заменить а автотестах?

    wataru
    @wataru
    Зависит целиком и полностью от того, зачем там time.sleep() в коде используется. И вообще, зачем вам его убирать? Хотите, чтобы тесты прогонялись быстрее?
    Написано
  • Почему free() выводит ошибку?

    wataru
    @wataru
    rusyska55011, Ну тогда остается только запись в не свою память. Что за последовательность операций приводит к падению? Попробуйте ее сократить максимально, выкидывая какие-то операции поочередно пока программа продолжает падать. А дальше попробуйте после каждой операции вывести весь список. Так же выводите адреса удаляемых вершин.
    Написано
  • Как я могу конвертировать число в символ?

    wataru
    @wataru Куратор тега C++
    yourDaddy1337, Но если вы хотите, чтобы символ был нормально в консоли виден, то надо выводить именно символ '3', с кодом 51. Ну или просто int в cout, он сам внутри все преобразует.

    Если же вы хотите обмениваться данными между двумя программами, то сначала определитесь, у вас формат бинарный или текстовый? Если текстовый, то выводите сразу int, а на другой стороне читайте int. И в консоли все отображаться будет нормально.

    Если же формат бинарный, то глазами его читать не получится - там будет нечитаемый ужас всегда. Тогда можно 3 действительно выводить как 0x03. Но тогда надо бы еще всякие заголовки продумать: тип поля, размер данных, в каком порядке байты идут (от старших к младшим или наоборот).
    Написано
  • Как найти последовательность букв через графы?

    wataru
    @wataru Куратор тега C++
    Alexandroppolus, это зависит от условия. Может, для повтора надо сходить в соседнюю клетку и обратно. Тогда никакие повторы обрабатывать не надо. Вообще, второй тест из вопроса это покажет, но мне лень отсчитывать там шаги. Но если все символы повтора съедаются за один шаг, то еще можно переходы делать не на +1 в третьем индексе, а на + сколько там одинаковых символов из матрицы в этой позиции встречается.
    Написано
  • Какие виды функций есть в C++, и как их различать?

    wataru
    @wataru Куратор тега C++
    ChatGPT - очень плохой советник. Иногда он выдает лютый, но правдоподобный бред, как у вас. Никогда не спрашивайте у него чего-то, в чем не разбираетесь достаточно, чтобы понять что он вам галлюцинации вывалил.
    Написано
  • Как найти последовательность букв через графы?

    wataru
    @wataru Куратор тега C++
    Т. е, начав с заданной координаты, надо пройти минимальный путь, что бы посетить какие-то клетки с буквами из зданного слова по порядку? А что делать со словом "aaa"? Надо ли три раза наступить на клетку с a, или можно ее один раз посетить? Какие ограничения?
    Написано
  • Есть ли название у подобного подхода?

    wataru
    @wataru
    Добавлю, что эта техника "ранний выход" применяется не только в функциях, но и в циклах, если в языке есть continue.
    Написано
  • Как управлять значением пикселей на экране в виндовс?

    wataru
    @wataru
    MrakLula, Это вам собственный драйвер видеокарты реализовывать придется. Замучаетесь. Это огроменнейшая задача.
  • Как управлять значением пикселей на экране в виндовс?

    wataru
    @wataru
    MrakLula, Ускорять без Opengl/directx или каких-то надстроек над ними, вроде SDL - никак.
  • Как упростить выражение с факториалами?

    wataru
    @wataru Куратор тега Алгоритмы
    Qubc, надо раскрыть скобки и вычислять слагаемое через предыдущее (деля на i)
  • Как правильно задать интервал для формулы a³+b³=c³+1?

    wataru
    @wataru Куратор тега Математика
    Корень, Ну, медалька на форуме, да зачет по математике - это совсем не тот уровень, что было раньше. Никаких премий и международных престижных наград.
    Хотя, безусловно, любое новое доказательство этой теоремы достойно публикации и может даже на PhD потянуть.
  • Как правильно задать интервал для формулы a³+b³=c³+1?

    wataru
    @wataru Куратор тега Математика
    mayton2019,

    Это прекрасно. Не забудь зайти получить денежную премию.


    Вроде как уже не выплачивают премию, ведь есть общепризнанное доказательство. Поэтому вместо фермоистов теперь всюду свидетили доказательства гипотезы Коллатца элементарными школьными методами.
  • Правильно ли реализовано делигирование конструктора?

    wataru
    @wataru Куратор тега C++
    Сергей Калин, Некоторые поля, которые не имеют никаких осмысленных значений на старте жизни объекта, можно инициализировать специальными значениями. Например, если это указатели на что-то, что можно будет узнать потом, то их можно инициализировать nullptr. Какие-нибудь идентификаторы - нулями, или -1.

    Все поля объекта должны иметь какое-то консистентное значение всегда.
  • Как правильно задать интервал для формулы a³+b³=c³+1?

    wataru
    @wataru Куратор тега Математика
    Корень,

    Перезапуск - не такая частая операция. Я бы прост о руками в коде менял значение.
    Как вы определяете алгоритм, когда с 1 начинать, а когда с 2476?

    Посмотреть на предыдущий вывод до перезагрузки, взять максимальное a.

    end = 20000
    a_begin = # последнее число a, выведенное раньше, или 1
     for a in range(a_begin, end+1):
            an = a ** n
            c = a; cn = an
            # Для каждого значения b в интервале
            for b in range(1, end+1):
                anbn = an + b ** n
                while anbn > cn:
                    c += 1
                    cn = (c ** n)-1
                if anbn == cn: # Bingo!
                    print(f'{a}³+{b}³={c}³-1 | {a**3}+{b**3}={c**3}-1')


    Если у вас база данных, то можно обращаться к ней какой-нибудь вроде этого, чтобы получить это самое a_begin:
    Select A from solutions limit 1 order A desc

    Не специалист по базам данных
  • Как правильно задать интервал для формулы a³+b³=c³+1?

    wataru
    @wataru Куратор тега Математика
    Корень, я привел код. Никаких интнрвалов там и нет. Тупо 2 вложенных цикла от 1 до максимального числа.
  • Как правильно задать интервал для формулы a³+b³=c³+1?

    wataru
    @wataru Куратор тега Математика
    Корень, если вы остановились на 1, 10001 ( что произойдет где-то через 10 миллисекунд после запуска программы), то зарускаетесь опять от 1. Да, первые 10000 пар вы просмотрите опять.

    Если вы остановились на 2476, 12365, то начало внешнего цикла можно сделать 2476. Но только внешнего.
  • Как правильно задать интервал для формулы a³+b³=c³+1?

    wataru
    @wataru Куратор тега Математика
    Перепишите, пожалуйста код, как будет лучше. Как по мне вы говорите загадками и скорей всего я ответ на загадку не найду.


    begin, end = 1, 20000
     for a in range(begin, end+1):
            an = a ** n
            c = a; cn = an
            # Для каждого значения b в интервале
            for b in range(begin, end+1):
                anbn = an + b ** n
                while anbn > cn:
                    c += 1
                    cn = (c ** n)-1
                if anbn == cn: # Bingo!
                    print(f'{a}³+{b}³={c}³-1 | {a**3}+{b**3}={c**3}-1')


    Код проще вашего же? Тут меньше циклов, понятнее что он делает.
    И все также можно запустить с середины, если компьютер перезагрузили - считайте что у вас куча интервалов длиной по 1 для a. Т.е. берете последнее выведенное в базу число a и c него запускаете внешний цикл, вместо 1.
  • Как правильно задать интервал для формулы a³+b³=c³+1?

    wataru
    @wataru Куратор тега Математика
    Корень,
    В принципе получилось же с помощью itertools.product


    Ничего вы не срезали. А всего-лишь чуть-чуть поменяли порядок перебора все тех же пар чисел, сильно усложнив код.