[go: up one dir, main page]

login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A344583
Let f(k) = k/2 if k is even, otherwise (3*k+2*a(n)+1)/2, a(n) is the smallest integer greater than -1, where n = f^j(n) for j > 0 exists. f^j(n) means j times recursion into f(n).
5
0, 0, 0, 1, 2, 2, 1, 3, 5, 4, 2, 3, 7, 5, 3, 7, 5, 8, 4, 2, 3, 10, 5, 2, 16, 5, 5, 13, 9, 2, 7, 2, 20, 10, 8, 5, 22, 2, 2, 16, 11, 11, 10, 5, 12, 22, 2, 11, 16, 2, 8, 25, 5, 14, 13, 8, 9, 7, 2, 8, 10, 8, 5, 31, 20, 18, 16, 15, 12, 7, 5, 8, 49, 8, 12, 16, 2, 8, 16, 5, 27, 40
OFFSET
0,5
COMMENTS
This sequence is self-similar under multiplication by factor 3.
If Collatz conjecture is true, the only zeros in this sequence are a(0), a(1) and a(2).
This sequence could be extended to all non-integer numbers of the form n = a/3. This requires a generalization of "odd" and "even" such that if n is of the form n = m/(2*b+1), n will be considered as even when m is even. In this case the formula (a(3*n)-1)/a(n) = 3 will hold for fractional n too.
FORMULA
a(n) <= (n-1)/2 for all odd n > 0.
(a(3*n)-1)/a(n) = 3 if n > 2.
a(2*n) >= a(n).
EXAMPLE
We may see this sequence as a sequence of functions:
0 -> f_0(k) = k/2 ; (3*k+1)/2.
1 -> f_1(k) = k/2 ; (3*k+3)/2.
2 -> f_2(k) = k/2 ; (3*k+5)/2.
a(58) = 2 because: f_2(58) = 58/2 = 29, f_2(29) = (29*3+2*2+1)/2 = 46, f_2(46) = 46/2 = 23, f_2(23) = (23*3+2*2+1)/2 = 37, f_2(37) = (37*3+2*2+1)/2 = 58.
This shows that f_2(f_2(f_2(f_2(f_2(58))))) = 58.
a(58) is not < 2 because no such loop which includes 58 exists for f_0 and f_1.
PROG
(MATLAB)
function a = A344583 ( max_n )
for n = 1:max_n
a_n = 0; stop = 0;
while stop == 0
v = [n]; k = n;
while length(v) == length(unique(v)) %run until results repeat
% Caution: If orbits without cycles exist, this may become
% an endless loop.
k = f( k, a_n );
v = [v k];
if k == n
a(n) = a_n;
stop = 1; break;
end
end
a_n = a_n+1;
end
end
end
function [ out ] = f( k, a_n )
if mod(k, 2) == 0
out = k/2;
else
out = ((k*3) + (1+ 2*a_n))/2;
end
end
(PARI) isperiodic(v, z) = for (k=1, #v, if (v[k] == z, return(1)));
f(x, k) = if (x%2, (3*x+2*k+1)/2, x/2);
isok(k, n) = {my(v=[n], y=n); for (i=1, oo, my(z=f(y, k)); if (z == n, return (1)); if (isperiodic(v, z), return(0)); v = concat(v, z); y = z; ); }
a(n) = {my(k=0); while (!isok(k, n), k++); k; } \\ Michel Marcus, Jun 14 2021
CROSSREFS
Sequence in context: A303911 A205575 A368338 * A349414 A257006 A363565
KEYWORD
nonn
AUTHOR
Thomas Scheuerle, May 24 2021
STATUS
approved