Bugün bir dizi bakacağız a Collatz fonksiyonu ile ilgili, f :
Bu şekilde bir dizi arama (f (Z)), f ... z, f (z), bir Collatz sekansı .
İlk rakam eden sekans, bir (1) , bir 0 . Tekrarlanan uygulaması altında f , bu bir kısır döngü içine düşer 0 → 0 → ...
Henüz görmediğimiz en küçük sayı 1, bir (2) = 1 yapıyor . Tekrarlanan uygulaması altında f , bu bir kısır döngü içine düşer 1 → 4 → 2 → 1 → ...
Şimdi yukarıdaki sayıdaki 2 sayısını gördük , bu yüzden sonraki en küçük sayı bir (3) = 3 , 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 → 4 → 2 → 1 döngüsüne düşüyor. →…
Yukarıdaki tüm döngülerde zaten 4 ve 5'i gördük , bu yüzden bir sonraki sayı bir (4) = 6 .
Şimdiye dek fikri anlamalısın. a (n) , tüm a (1),…, a (n - 1) için herhangi bir Collatz sekansının parçası olmayan en küçük sayıdır .
Bir pozitif tamsayı verilen, bir program ya da işlev Yazın , n , döner bir (N) . Bayt cinsinden en kısa kod kazanır.
testcases:
1 -> 0
2 -> 1
3 -> 3
4 -> 6
5 -> 7
6 -> 9
7 -> 12
8 -> 15
9 -> 18
10 -> 19
50 -> 114
(Bu, OEIS dizisi A061641'dir .)
n
0 tabanlı olabilir mi?
a(n+1) = a(n) odd: 3*a(n)+1, or a(n) even: a(n)/2
a
0 tabanlı değilse , neden burada "0 tabanlı" konuşuyormuş gibi göründüğünüzü anlamıyorum:a(n) is the smallest number that was not part of any Collatz sequences for all a(0), …, a(n − 1).