A163381 a(n) = the (decimal equivalent of the) smallest integer that can be made by rotating the binary digits of n any number of positions to the left or right. a(n) in binary may contain fewer digits, after leading 0's are removed, than n written in binary has.
1, 1, 3, 1, 3, 3, 7, 1, 3, 5, 7, 3, 7, 7, 15, 1, 3, 5, 7, 5, 11, 11, 15, 3, 7, 11, 15, 7, 15, 15, 31, 1, 3, 5, 7, 9, 11, 13, 15, 5, 13, 21, 23, 11, 27, 23, 31, 3, 7, 11, 15, 13, 23, 27, 31, 7, 15, 23, 31, 15, 31, 31, 63, 1, 3, 5, 7, 9, 11, 13, 15, 9, 19, 21, 23, 19, 27, 29, 31, 5, 13, 21, 29
Offset: 1
Examples
13 in binary is 1101. Rotating this just once to the right, we get 1110, 14 in decimal. If we rotate twice to the right, we would have had 0111 = 7 in decimal. Rotating 3 times, we end up with 1011, which is 11 in decimal. Rotating 4 times, we end up at the beginning with 1101 = 13. 7 is the smallest of these, so a(13) = 7.
Links
- Alois P. Heinz, Table of n, a(n) for n = 1..8190
Programs
-
Maple
a:= proc(n) local i, k, m, s; k, m, s:= ilog2(n), n, n; for i to k do m:= iquo(m, 2, 'd') +d*2^k; s:=s, m od; min(s) end: seq(a(n), n=1..80); # Alois P. Heinz, May 24 2012
-
Mathematica
Table[Min[FromDigits[ #,2]&/@ NestList[RotateLeft,IntegerDigits[n,2], Floor[Log[2,n]]]],{n,255}] (* Wouter Meeussen, Jul 27 2009 *)
-
PARI
a(n)=local(k=#binary(n),m=2^k,t=n*(m+1));vecmin(vector(k,x,(t\2^x)%m)) \\ Hagen von Eitzen, Jul 27 2009
Extensions
More terms from Hagen von Eitzen and Wouter Meeussen, Jul 27 2009
Comments