Python - En Uzun Collatz Serisi (Longest Collatz sequence)

preview_player
Показать описание
Project Euler - Problem 14 - Longest Collatz sequence

Aşağıdaki tekrarlama dizisi pozitif tam sayılar için tanımlanmıştır:

n → n/2 (n çift)
n → 3n + 1 (n tek)
Yukarıdaki kuralı uygulayarak ve 13’ten başlayarak aşağıdaki diziyi üretiriz:

13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1

13’ten başlayıp 1’de sonlanan bu dizinin 10 adet terim içerdiği görülebilir. Henüz kanıtlanmış olmasa da(Collatz Problemi), bütün başlangıç sayılarının 1’de sonuçlanacağı sanılmaktadır.

Bir milyonun altındaki hangi başlangıç sayısı, en uzun zinciri üretir?

NOT: Zincir bir kere başladıktan sonra terimlerin 1 milyonun üzerine çıkabilmesi mümkündür.

-
Рекомендации по теме
Комментарии
Автор

Fonksiyona bir liste ekleyip fonksiyon her çağırıldığında adımı listeye ekleyebilirsiniz. Başa
while not n == 1:
koyarsanız fonksiyon direkt 1'de bitmiş olur. En sonunda
len(liste)
kullanarak counter değişkenini de yok etmiş olabilirsiniz.

kaganozer