Уведомления

Группа в Telegram: @pythonsu

#1 Май 9, 2020 10:06:03

Azart
Зарегистрирован: 2020-05-09
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

функция не работает

Привет, решаю 14ю задачу эйлера, написал простенькую рекурсивную функцию для чета шагов в последовательности Коллатца, но она всегда возвращает 0, уже час сижу не могу понять где ошибка помогите!

 count = 0
def collatz(number):
    global count
    while number == 1:
        count += 1
        if number % 2 == 0:
            collatz(number/2)
        else:
            collatz(number*3+1)
    return count
print(collatz(500))

Отредактировано Azart (Май 9, 2020 10:08:10)

Офлайн

#2 Май 9, 2020 11:25:39

rami
Зарегистрирован: 2018-01-08
Сообщения: 281
Репутация: +  72  -
Профиль   Отправить e-mail  

функция не работает

У вас цикл должен выполняться если number равно 1, но вы передаёте в функцию значение number равное 500, значит цикл выполняться не будет.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version