A203640 Length of the cycle reached for the map x->A203639(x), starting at n.
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Offset: 1
Examples
Starting from n = 12, the derived sequence is A203639(12) = 4, A203639(4) = 4, A203639(4) = 4, etc, and the sequence 12, 4, 4, 4, 4, ... has cycle length 1. Therefore a(12) = 1. From _Antti Karttunen_, Sep 13 2017: (Start) Starting from n = 16, the derived sequence is A203639(16) = 32, A203639(32) = 80, A203639(80) = 32, etc, and the sequence 16, 32, 80, 32, 80, ... has cycle length 2. Therefore a(16) = 2. Starting from n = 2916, the derived sequence is A203639(2916) = 5832, A203639(5832) = 17496, A203639(17496) = 61236, A203639(61236) = 20412, A203639(20412) = 5832, etc, and the sequence 2916, 5832, 17496, 61236, 20412, 5832, 17496, 61236, 20412, ... has cycle length 4. Therefore a(2916) = 4. This is also the first point where the sequence attains a value larger than 2. (End)
Links
- Antti Karttunen, Table of n, a(n) for n = 1..65537
Programs
-
Maple
idx := proc(L,n) for i from 1 to nops(L) do if op(i,L)=n then return i ; end if; end do: return -1; end proc: A203640 := proc(n) local s,dr,d; s := [n] ;dr :=n ; for d from 1 do dr := A203639(dr) ; ii := idx(s,dr) ; if ii >0 then return nops(s)-ii+1 ; else s := [op(s),dr] ; end if ; end do: end proc:
-
Scheme
(define (A203640 n) (let loop ((visited (list n)) (i 1)) (let ((next (A203639 (car visited)))) (cond ((member next visited) => (lambda (prepath) (+ 1 (- i (length prepath))))) (else (loop (cons next visited) (+ 1 i))))))) ;; (Code for A203639 given under that entry.) - Antti Karttunen, Sep 13 2017
Comments