Задача: гипотеза Коллатца

Гипотеза Коллатца — это одна из нерешённых проблем в математике с 1937 года (Гипотеза Коллатца, Collatz conjecture), которую математики не могут ни доказать, ни опровергнуть. Гипотеза состоит в том, для любого натурального числа n>1 последовательное применение функции:

— приведёт к числовому ряду, который, в конечном итоге (рано или поздно) приведёт к числу 1 (то есть, на каждом шаге преобразований для чётных значений следующим шагом вычисляется n/2, а для нечетных — 3n+1). Например, для n=3 это будет ряд преобразований: 3,10,5,16,8,4,2,1. Для некоторых n эта последовательность чисел будет весьма короткой, но для некоторых — очень длинной…

Наше задание не в том, чтобы решить задачу, которую все математики мира не могут решить 80 лет, а в том, чтобы для любого n построить цепочку числовых для такого преобразования (то, что математики называют: чи́сла-гра́дины).

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

Решение.

Как это выполняется:

задача и решение, гипотеза коллатца, с++, практика программирования

Рассылка новых уроков по программированию:

Дата
Страница
Задача: гипотеза Коллатца
Рейтинг
51star1star1star1star1star
Olej

Об авторе Olej

Стаж практических программных разработок около 40 лет. Преподаватель международной софтверной компании Global Logic. Постоянный автор публикаций IBM Developer Works. Научный редактор книжного издательства компьютерной литературы "Символ-Плюс", Санкт-Петербург.

Добавить комментарий

Код размещайте в тегах: <pre class="lang:c++ decode:true ">YOUR CODE</pre>