[go: up one dir, main page]

login
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