|
|
A336914
|
|
Number of steps to reach 1 in '3^x+1' problem (a variation of the Collatz problem), or -1 if 1 is never reached.
|
|
1
|
|
|
0, 1, 4, 2, 11, 2, 9, 5, 7, 5, 7, 5, 5, 5, 16, 3, 5, 3, 5, 3, 16, 3, 14, 3, 9, 3, 14, 3, 9, 3, 9, 12, 14, 12, 22, 12, 14, 12, 7, 12, 5, 12, 5, 12, 7, 12, 5, 12, 7, 12, 5, 12, 5, 12, 20, 12, 5, 12, 16, 12, 5, 12, 14, 3, 12, 3, 5, 3, 14, 3, 5, 3, 14, 3, 5, 3, 5
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,3
|
|
COMMENTS
|
The 3^x+1 map, which is a variation of the 3x+1 (Collatz) map, is defined for x >= 1 as follows: if x is odd, then map x to 3^x+1; otherwise, map x to floor(log_2(x)).
It seems that all 3^x+1 trajectories reach 1; this has been verified up to 10^9.
|
|
LINKS
|
|
|
EXAMPLE
|
For n = 5, a(5) = 11, because there are 11 steps from 5 to 1 in the following trajectory for 5: 5, 244, 7, 2188, 11, 177148, 17, 129140164, 26, 4, 2, 1.
For n = 6, a(6) = 2, because there are 2 steps from 6 to 1 in the following trajectory for 6: 6, 2, 1.
|
|
PROG
|
(Python)
from math import floor, log
def a(n):
if n == 1: return 0
count = 0
while True:
if n % 2: n = 3**n + 1
else: n = int(floor(log(n, 2)))
count += 1
if n == 1: break
return count
print([a(n) for n in range(1, 101)])
|
|
CROSSREFS
|
Cf. A006370 (image of n under the 3x+1 map).
Cf. A336913 (image of n under the 3^x+1 map).
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|