кодесурса
«Python

Python Challenges: найдите начальный номер, менее десяти тысяч создаст самую длинную цепочку

script1adsense2code
script1adsense3code

Задачи Python - 1: Упражнение 42 с решением

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

Из Википедии - Гипотеза Коллатца - это гипотеза в математике, которая касается последовательности, определенной следующим образом: начните с любого положительного целого числа n. Затем каждый член получается из предыдущего члена следующим образом: если предыдущий член является четным, то следующий член равен половине предыдущего. Если предыдущий член является нечетным, то следующий член в 3 раза больше предыдущего и плюс 1. Предположение состоит в том, что независимо от значения n последовательность всегда будет равна 1.
«Python:

Пример решения :

Код Python:

def create_sequence_num(n):
    terms = 1
    while n > 1:
        if n % 2 == 0:
            n = n / 2
        else:
            n = 3 * n + 1
        terms += 1
    return terms
def Collatz_starting_num():
    temp = 0
    i = 1
    while i < 10000:
        s = create_sequence_num(i)
        if s > temp:
            temp = s
            value = i
        i += 1
    return value
print(Collatz_starting_num())

Пример вывода:

 6171

Блок - схема:

«Python

Редактор кода Python:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на Python, чтобы найти первый номер треугольника, имеющий более n (заданных) делителей.

Далее: Напишите программу на Python для вычисления суммы цифр числа 2 20 .

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code