Найти тему
Мои эксперименты

Проверил гипотезу Коллатца в интервале от 1 до 1 000 000

На днях узнал о существовании гипотезы Коллатца и по этому поводу появилась небольшая заметка: "Гипотеза Коллатца - это необыкновенный математический сюрприз".

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

Я не математик и не программист, но во время своей работы до пенсии мне приходилось работать с таблицами Excel для Windows 95 версии 7.0. В свое время научился в этих таблицах использовать макросы для обработки информации в таблицах.

И вот теперь решил проверить верность гипотезы Коллатца с использованием таблиц Excel для чисел в интервале от 1 до 1 000 000.

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

После записи числа в ячейку столбца проводил с ним соответствующие операции, т.е. делил на 2 или умножал на 3 и прибавлял 1, пока не получалась единица. После этого переходил к следующему числу.

У меня получилось 4 000 таблиц по 250 чисел (4 000 * 250 = 1 000 000). Вот эти таблицы:

Если открыть таблицу №1, то взору предстанет такая картина:

Если открыть последнюю таблицу № 4000, то цифры будут уже шестизначные:

Вся процедура обработки 1 000 000 чисел заняла по времени 4 часа 4 минуты 1 секунду. Эта временная информация зафиксировалась на счетчике времени, который начал свой отсчет с первого числа и остановился после обработки 1 000 000 числа.

Обработка 1 000 000 чисел заняла 4 часа 4 минуты 1 секунду
Обработка 1 000 000 чисел заняла 4 часа 4 минуты 1 секунду

Кроме таблиц с числами использовалась еще одна таблица, в которой записывалось одно число из 250 с максимальным количеством шагов.

На экране умещается только 50 строк из этой таблицы. Если делать фото каждые 50 строк, то получится 80 фото (4000 : 50). Для Дзена это, наверное, будет многовато. Поэтому отсортировал эту таблицу от максимума шагов к минимуму. И вот что у меня получилось:

Максимальное количество шагов 524  у числа 837799
Максимальное количество шагов 524 у числа 837799

Проверил количество шагов у числа 837799 с помощью макроса, который использовал здесь:

Проверка количества шагов у числа 837799
Проверка количества шагов у числа 837799

Для интересующихся сделал ZIP архив этих 4000 таблиц на Яндекс.Диске.

Для чисел от 1 до 1 000 000 гипотеза Коллатца работает без ошибок :)