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”).

A181935
Curling number of binary expansion of n.
8
1, 1, 1, 2, 2, 1, 1, 3, 3, 1, 2, 2, 2, 1, 1, 4, 4, 1, 1, 2, 2, 2, 1, 3, 3, 1, 2, 2, 2, 1, 1, 5, 5, 1, 1, 2, 2, 2, 1, 3, 3, 1, 3, 2, 2, 2, 1, 4, 4, 1, 1, 2, 2, 2, 2, 3, 3, 1, 2, 2, 2, 1, 1, 6, 6, 1, 1, 2, 2, 2, 1, 3, 3, 2, 2, 2, 2, 1, 1, 4, 4, 1, 2, 2, 2, 3
OFFSET
0,4
COMMENTS
Given a string S, write it as S = XYY...Y = XY^k, where X may be empty, and k is as large as possible; then k is the curling number of S.
A212439(n) = 2 * n + a(n) mod 2. - Reinhard Zumkeller, May 17 2012
LINKS
Benjamin Chaffin and N. J. A. Sloane, The Curling Number Conjecture, preprint.
EXAMPLE
731 = 1011011011 in binary, which we could write as XY^2 with X = 10110110 and Y = 1, or as XY^3 with X = 1 and Y = 011. The latter is better, giving k = 3, so a(713) = 3.
PROG
(Haskell)
import Data.List (unfoldr, inits, tails, stripPrefix)
import Data.Maybe (fromJust)
a181935 0 = 1
a181935 n = curling $ unfoldr
(\x -> if x == 0 then Nothing else Just $ swap $ divMod x 2) n where
curling zs = maximum $ zipWith (\xs ys -> strip 1 xs ys)
(tail $ inits zs) (tail $ tails zs) where
strip i us vs | vs' == Nothing = i
| otherwise = strip (i + 1) us $ fromJust vs'
where vs' = stripPrefix us vs
-- Reinhard Zumkeller, May 16 2012
CROSSREFS
Cf. A212412 (parity), A212440, A212441, A007088, A090822, A224764/A224765 (fractional curling number).
Sequence in context: A352911 A278566 A255559 * A027358 A332548 A352685
KEYWORD
nonn,base
AUTHOR
N. J. A. Sloane, Apr 02 2012
STATUS
approved