cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

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.

Original entry on oeis.org

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

Views

Author

Leroy Quet, Jul 25 2009

Keywords

Comments

By rotating the binary digits of n, it is meant: Write n in binary without any leading 0's. To rotate this string to the right, say, by one position, first remove the rightmost digit and then append it on the left side of the remaining string. (So the least significant digit becomes the most significant digit.) Here, leading 0's are not removed after the first rotation, so that each binary string being rotated has the same number of binary digits as n has.

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.
		

Crossrefs

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