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.

Previous Showing 11-20 of 28 results. Next

A246660 Run Length Transform of factorials.

Original entry on oeis.org

1, 1, 1, 2, 1, 1, 2, 6, 1, 1, 1, 2, 2, 2, 6, 24, 1, 1, 1, 2, 1, 1, 2, 6, 2, 2, 2, 4, 6, 6, 24, 120, 1, 1, 1, 2, 1, 1, 2, 6, 1, 1, 1, 2, 2, 2, 6, 24, 2, 2, 2, 4, 2, 2, 4, 12, 6, 6, 6, 12, 24, 24, 120, 720, 1, 1, 1, 2, 1, 1, 2, 6, 1, 1, 1, 2, 2, 2, 6, 24, 1, 1, 1
Offset: 0

Views

Author

Peter Luschny, Sep 07 2014

Keywords

Comments

For the definition of the Run Length Transform see A246595.
Only Jordan-Polya numbers (A001013) are terms of this sequence.

Crossrefs

Cf. A003714 (gives the positions of ones).
Run Length Transforms of other sequences: A001316, A071053, A227349, A246588, A246595, A246596, A246661, A246674.

Programs

  • Mathematica
    Table[Times @@ (Length[#]!&) /@ Select[Split[IntegerDigits[n, 2]], #[[1]] == 1&], {n, 0, 83}] (* Jean-François Alcover, Jul 11 2017 *)
  • PARI
    A246660(n) = { my(i=0, p=1); while(n>0, if(n%2, i++; p = p * i, i = 0); n = n\2); p; };
    for(n=0, 8192, write("b246660.txt", n, " ", A246660(n)));
    \\ Antti Karttunen, Sep 08 2014
    
  • Python
    from operator import mul
    from functools import reduce
    from re import split
    from math import factorial
    def A246660(n):
        return reduce(mul,(factorial(len(d)) for d in split('0+',bin(n)[2:]) if d)) if n > 0 else 1 # Chai Wah Wu, Sep 09 2014
  • Sage
    def RLT(f, size):
        L = lambda n: [a for a in Integer(n).binary().split('0') if a != '']
        return [mul([f(len(d)) for d in L(n)]) for n in range(size)]
    A246660_list = lambda len: RLT(factorial, len)
    A246660_list(88)
    
  • Scheme
    ;; A stand-alone loop version, like the Pari-program above:
    (define (A246660 n) (let loop ((n n) (i 0) (p 1)) (cond ((zero? n) p) ((odd? n) (loop (/ (- n 1) 2) (+ i 1) (* p (+ 1 i)))) (else (loop (/ n 2) 0 p)))))
    ;; One based on given recurrence, utilizing memoizing definec-macro from my IntSeq-library:
    (definec (A246660 n) (cond ((zero? n) 1) ((even? n) (A246660 (/ n 2))) (else (* (A007814 (+ n 1)) (A246660 (/ (- n 1) 2))))))
    ;; Yet another implementation, using fold:
    (define (A246660 n) (fold-left (lambda (a r) (* a (A000142 r))) 1 (bisect (reverse (binexp->runcount1list n)) (- 1 (modulo n 2)))))
    (definec (A000142 n) (if (zero? n) 1 (* n (A000142 (- n 1)))))
    ;; Other functions are as in A227349 - Antti Karttunen, Sep 08 2014
    

Formula

a(2^n-1) = n!.
a(0) = 1, a(2n) = a(n), a(2n+1) = a(n) * A007814(2n+2). - Antti Karttunen, Sep 08 2014
a(n) = A112624(A005940(1+n)). - Antti Karttunen, May 29 2017
a(n) = A323505(n) / A323506(n). - Antti Karttunen, Jan 17 2019

A246588 Run Length Transform of S(n) = wt(n) = 0,1,1,2,1,2,2,3,1,... (cf. A000120).

Original entry on oeis.org

1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1
Offset: 0

Views

Author

N. J. A. Sloane, Sep 05 2014

Keywords

Comments

The Run Length Transform of a sequence {S(n), n>=0} is defined to be the sequence {T(n), n>=0} given by T(n) = Product_i S(i), where i runs through the lengths of runs of 1's in the binary expansion of n. E.g. 19 is 10011 in binary, which has two runs of 1's, of lengths 1 and 2. So T(19) = S(1)*S(2). T(0)=1 (the empty product).

Crossrefs

Cf. A000120.
Run Length Transforms of other sequences: A071053, A227349, A246595, A246596, A246660, A246661, A246674.

Programs

  • Haskell
    import Data.List (group)
    a246588 = product . map (a000120 . length) .
              filter ((== 1) . head) . group . a030308_row
    -- Reinhard Zumkeller, Feb 13 2015, Sep 05 2014
    
  • Maple
    A000120 := proc(n) local w, m, i; w := 0; m :=n; while m > 0 do i := m mod 2; w := w+i; m := (m-i)/2; od; w; end: wt := A000120;
    ans:=[];
    for n from 0 to 100 do lis:=[]; t1:=convert(n, base, 2); L1:=nops(t1); out1:=1; c:=0;
    for i from 1 to L1 do
       if out1 = 1 and t1[i] = 1 then out1:=0; c:=c+1;
       elif out1 = 0 and t1[i] = 1 then c:=c+1;
       elif out1 = 1 and t1[i] = 0 then c:=c;
       elif out1 = 0 and t1[i] = 0 then lis:=[c, op(lis)]; out1:=1; c:=0;
       fi;
       if i = L1 and c>0 then lis:=[c, op(lis)]; fi;
                       od:
    a:=mul(wt(i), i in lis);
    ans:=[op(ans), a];
    od:
    ans;
  • Mathematica
    f[n_] := DigitCount[n, 2, 1]; Table[Times @@ (f[Length[#]]&)  /@ Select[ Split[ IntegerDigits[n, 2]], #[[1]] == 1&], {n, 0, 100}] (* Jean-François Alcover, Jul 11 2017 *)
  • Python
    from operator import mul
    from functools import reduce
    from re import split
    def A246588(n):
        return reduce(mul,(bin(len(d)).count('1') for d in split('0+',bin(n)[2:]) if d)) if n > 0 else 1 # Chai Wah Wu, Sep 07 2014
    
  • Sage
    # uses[RLT from A246660]
    A246588_list = lambda len: RLT(lambda n: sum(Integer(n).digits(2)), len)
    A246588_list(88) # Peter Luschny, Sep 07 2014

A246595 Run Length Transform of squares.

Original entry on oeis.org

1, 1, 1, 4, 1, 1, 4, 9, 1, 1, 1, 4, 4, 4, 9, 16, 1, 1, 1, 4, 1, 1, 4, 9, 4, 4, 4, 16, 9, 9, 16, 25, 1, 1, 1, 4, 1, 1, 4, 9, 1, 1, 1, 4, 4, 4, 9, 16, 4, 4, 4, 16, 4, 4, 16, 36, 9, 9, 9, 36, 16, 16, 25, 36, 1, 1, 1, 4, 1, 1, 4, 9, 1, 1, 1, 4, 4, 4, 9, 16, 1, 1, 1, 4, 1, 1
Offset: 0

Views

Author

N. J. A. Sloane, Sep 06 2014

Keywords

Comments

The Run Length Transform of a sequence {S(n), n>=0} is defined to be the sequence {T(n), n>=0} given by T(n) = Product_i S(i), where i runs through the lengths of runs of 1's in the binary expansion of n. E.g., 19 is 10011 in binary, which has two runs of 1's, of lengths 1 and 2. So T(19) = S(1)*S(2). T(0)=1 (the empty product).

Examples

			From _Omar E. Pol_, Feb 10 2015: (Start)
Written as an irregular triangle in which row lengths is A011782:
1;
1;
1,4;
1,1,4,9;
1,1,1,4,4,4,9,16;
1,1,1,4,1,1,4,9,4,4,4,16,9,9,16,25;
1,1,1,4,1,1,4,9,1,1,1,4,4,4,9,16,4,4,4,16,4,4,16,36,9,9,9,36,16,16,25,36;
...
Right border gives A253909: 1 together with the positive squares.
(End)
From _Omar E. Pol_, Mar 19 2015: (Start)
Also, the sequence can be written as an irregular tetrahedron T(s,r,k) as shown below:
1;
..
1;
..
1;
4;
.......
1,   1;
4;
9;
...............
1,   1,  1,  4;
4,   4;
9;
16;
.............................
1,   1,  1,  4, 1, 1,  4,  9;
4,   4,  4, 16;
9,   9;
16;
25;
......................................................
1,   1,  1,  4, 1, 1,  4,  9, 1, 1, 1, 4, 4, 4, 9, 16;
4,   4,  4, 16, 4, 4, 16, 36;
9,   9,  9, 36;
16, 16;
25;
36;
...
Apart from the initial 1, we have that T(s,r,k) = T(s+1,r,k).
(End)
		

Crossrefs

Cf. A003714 (gives the positions of ones).
Run Length Transforms of other sequences: A071053, A227349, A246588, A246596, A246660, A246661, A246674.

Programs

  • Maple
    ans:=[];
    for n from 0 to 100 do lis:=[]; t1:=convert(n, base, 2); L1:=nops(t1); out1:=1; c:=0;
    for i from 1 to L1 do
       if out1 = 1 and t1[i] = 1 then out1:=0; c:=c+1;
       elif out1 = 0 and t1[i] = 1 then c:=c+1;
       elif out1 = 1 and t1[i] = 0 then c:=c;
       elif out1 = 0 and t1[i] = 0 then lis:=[c, op(lis)]; out1:=1; c:=0;
       fi;
       if i = L1 and c>0 then lis:=[c, op(lis)]; fi;
                       od:
    a:=mul(i^2, i in lis);
    ans:=[op(ans), a];
    od:
    ans;
  • Mathematica
    Table[Times @@ (Length[#]^2&) /@ Select[Split[IntegerDigits[n, 2]], #[[1]] == 1&], {n, 0, 85}] (* Jean-François Alcover, Jul 11 2017 *)
  • Python
    from operator import mul
    from functools import reduce
    from re import split
    def A246595(n):
        return reduce(mul,(len(d)**2 for d in split('0+',bin(n)[2:]) if d != '')) if n > 0 else 1 # Chai Wah Wu, Sep 07 2014
    
  • Sage
    # uses[RLT from A246660]
    A246595_list = lambda len: RLT(lambda n: n^2, len)
    A246595_list(86) # Peter Luschny, Sep 07 2014
    
  • Scheme
    ; using MIT/GNU Scheme
    (define (A246595 n) (fold-left (lambda (a r) (* a r r)) 1 (bisect (reverse (binexp->runcount1list n)) (- 1 (modulo n 2)))))
    ;; Other functions are as in A227349 - Antti Karttunen, Sep 08 2014

Formula

a(n) = A227349(n)^2. - Omar E. Pol, Feb 10 2015

A246596 Run Length Transform of Catalan numbers A000108.

Original entry on oeis.org

1, 1, 1, 2, 1, 1, 2, 5, 1, 1, 1, 2, 2, 2, 5, 14, 1, 1, 1, 2, 1, 1, 2, 5, 2, 2, 2, 4, 5, 5, 14, 42, 1, 1, 1, 2, 1, 1, 2, 5, 1, 1, 1, 2, 2, 2, 5, 14, 2, 2, 2, 4, 2, 2, 4, 10, 5, 5, 5, 10, 14, 14, 42, 132, 1, 1, 1, 2, 1, 1, 2, 5, 1, 1, 1, 2, 2, 2, 5, 14, 1, 1, 1, 2, 1, 1, 2, 5
Offset: 0

Views

Author

N. J. A. Sloane, Sep 06 2014

Keywords

Comments

The Run Length Transform of a sequence {S(n), n>=0} is defined to be the sequence {T(n), n>=0} given by T(n) = Product_i S(i), where i runs through the lengths of runs of 1's in the binary expansion of n. E.g. 19 is 10011 in binary, which has two runs of 1's, of lengths 1 and 2. So T(19) = S(1)*S(2). T(0)=1 (the empty product).

Examples

			From _Omar E. Pol_, Feb 15 2015: (Start)
Written as an irregular triangle in which row lengths are the terms of A011782:
1;
1;
1,2;
1,1,2,5;
1,1,1,2,2,2,5,14;
1,1,1,2,1,1,2,5,2,2,2,4,5,5,14,42;
1,1,1,2,1,1,2,5,1,1,1,2,2,2,5,14,2,2,2,4,2,2,4,10,5,5,5,10,14,14,42,132;
...
Right border gives the Catalan numbers. This is simply a restatement of the theorem that this sequence is the Run Length Transform of A000108.
(End)
		

Crossrefs

Cf. A000108.
Cf. A003714 (gives the positions of ones).
Run Length Transforms of other sequences: A005940, A069739, A071053, A227349, A246588, A246595, A246660, A246661, A246674.

Programs

  • Maple
    Cat:=n->binomial(2*n,n)/(n+1);
    ans:=[];
    for n from 0 to 100 do lis:=[]; t1:=convert(n, base, 2); L1:=nops(t1); out1:=1; c:=0;
    for i from 1 to L1 do
    if out1 = 1 and t1[i] = 1 then out1:=0; c:=c+1;
    elif out1 = 0 and t1[i] = 1 then c:=c+1;
    elif out1 = 1 and t1[i] = 0 then c:=c;
    elif out1 = 0 and t1[i] = 0 then lis:=[c, op(lis)]; out1:=1; c:=0;
    fi;
    if i = L1 and c>0 then lis:=[c, op(lis)]; fi;
    od:
    a:=mul(Cat(i), i in lis);
    ans:=[op(ans), a];
    od:
    ans;
  • Mathematica
    f = CatalanNumber; Table[Times @@ (f[Length[#]]&) /@ Select[ Split[ IntegerDigits[n, 2]], #[[1]] == 1&], {n, 0, 87}] (* Jean-François Alcover, Jul 11 2017 *)
  • Python
    from operator import mul
    from functools import reduce
    from gmpy2 import divexact
    from re import split
    def A246596(n):
        s, c = bin(n)[2:], [1, 1]
        for m in range(1, len(s)):
            c.append(divexact(c[-1]*(4*m+2),(m+2)))
        return reduce(mul,(c[len(d)] for d in split('0+',s))) if n > 0 else 1
    # Chai Wah Wu, Sep 07 2014
    
  • Sage
    # uses[RLT from A246660]
    A246596_list = lambda len: RLT(lambda n: binomial(2*n, n)/(n+1), len)
    A246596_list(88) # Peter Luschny, Sep 07 2014
    
  • Scheme
    ; using MIT/GNU Scheme
    (define (A246596 n) (fold-left (lambda (a r) (* a (A000108 r))) 1 (bisect (reverse (binexp->runcount1list n)) (- 1 (modulo n 2)))))
    (define A000108 (EIGEN-CONVOLUTION 1 *))
    ;; Note: EIGEN-CONVOLUTION can be found from my IntSeq-library and other functions are as in A227349. - Antti Karttunen, Sep 08 2014

Formula

a(n) = A069739(A005940(1+n)). - Antti Karttunen, May 29 2017

A246674 Run Length Transform of A000225.

Original entry on oeis.org

1, 1, 1, 3, 1, 1, 3, 7, 1, 1, 1, 3, 3, 3, 7, 15, 1, 1, 1, 3, 1, 1, 3, 7, 3, 3, 3, 9, 7, 7, 15, 31, 1, 1, 1, 3, 1, 1, 3, 7, 1, 1, 1, 3, 3, 3, 7, 15, 3, 3, 3, 9, 3, 3, 9, 21, 7, 7, 7, 21, 15, 15, 31, 63, 1, 1, 1, 3, 1, 1, 3, 7, 1, 1, 1, 3, 3, 3, 7, 15, 1, 1, 1, 3, 1, 1, 3, 7, 3, 3, 3, 9, 7, 7, 15, 31, 3, 3, 3, 9, 3, 3, 9, 21, 3, 3, 3, 9, 9, 9, 21, 45, 7, 7, 7, 21, 7, 7, 21, 49, 15, 15, 15, 45, 31, 31, 63, 127, 1
Offset: 0

Views

Author

Antti Karttunen, Sep 08 2014

Keywords

Comments

a(n) can be also computed by replacing all consecutive runs of zeros in the binary expansion of n with * (multiplication sign), and then performing that multiplication, still in binary, after which the result is converted into decimal. See the example below.

Examples

			115 is '1110011' in binary. The run lengths of 1-runs are 2 and 3, thus a(115) = A000225(2) * A000225(3) = ((2^2)-1) * ((2^3)-1) = 3*7 = 21.
The same result can be also obtained more directly, by realizing that '111' and '11' are the binary representations of 7 and 3, and 7*3 = 21.
From _Omar E. Pol_, Feb 15 2015: (Start)
Written as an irregular triangle in which row lengths are the terms of A011782:
1;
1;
1,3;
1,1,3,7;
1,1,1,3,3,3,7,15;
1,1,1,3,1,1,3,7,3,3,3,9,7,7,15,31;
1,1,1,3,1,1,3,7,1,1,1,3,3,3,7,15,3,3,3,9,3,3,9,21,7,7,7,21,15,15,31,63;
...
Right border gives 1 together with the positive terms of A000225.
(End)
		

Crossrefs

Cf. A003714 (gives the positions of ones).
A001316 is obtained when the same transformation is applied to A000079, the powers of two.
Run Length Transforms of other sequences: A071053, A227349, A246588, A246595, A246596, A246660, A246661, A246685, A247282.

Programs

  • Mathematica
    f[n_] := 2^n - 1; Table[Times @@ (f[Length[#]]&) /@ Select[ Split[ IntegerDigits[n, 2]], #[[1]] == 1&], {n, 0, 100}] (* Jean-François Alcover, Jul 11 2017 *)
  • Python
    # uses RLT function in A278159
    def A246674(n): return RLT(n,lambda m: 2**m-1) # Chai Wah Wu, Feb 04 2022

Formula

For all n >= 0, a(A051179(n)) = A247282(A051179(n)) = A051179(n).

A278159 Run length transform of primorials, A002110.

Original entry on oeis.org

1, 2, 2, 6, 2, 4, 6, 30, 2, 4, 4, 12, 6, 12, 30, 210, 2, 4, 4, 12, 4, 8, 12, 60, 6, 12, 12, 36, 30, 60, 210, 2310, 2, 4, 4, 12, 4, 8, 12, 60, 4, 8, 8, 24, 12, 24, 60, 420, 6, 12, 12, 36, 12, 24, 36, 180, 30, 60, 60, 180, 210, 420, 2310, 30030, 2, 4, 4, 12, 4, 8, 12, 60, 4, 8, 8, 24, 12, 24, 60, 420, 4, 8, 8, 24, 8, 16, 24, 120, 12, 24, 24, 72, 60, 120, 420
Offset: 0

Views

Author

Antti Karttunen, Nov 16 2016

Keywords

Comments

Like every run length transform this sequence satisfies for all i, j: A278222(i) = A278222(j) => a(i) = a(j).

Examples

			For n=7, "111" in binary, there is a run of 1-bits of length 3, thus a(7) = product of A002110(3), = A002110(3) = 30.
For n=39, "10111" in binary, there are two runs, of lengths 1 and 3, thus a(39) = A002110(1) * A002110(3) = 2*30 = 60.
		

Crossrefs

Programs

  • Mathematica
    f[n_] := Product[Prime[k], {k, 1, n}]; Table[Times @@ (f[Length[#]]&) /@ Select[Split[IntegerDigits[n, 2]], #[[1]] == 1&], {n, 0, 94}] (* Jean-François Alcover, Jul 11 2017 *)
  • Python
    from math import prod
    from re import split
    from sympy import primorial
    def RLT(n,f):
        """ run length transform of a function f """
        return prod(f(len(d)) for d in split('0+', bin(n)[2:]) if d != '') if n > 0 else 1
    def A278159(n): return RLT(n,primorial) # Chai Wah Wu, Feb 04 2022
  • Scheme
    (define (A278159 n) (fold-left (lambda (a r) (* a (A002110 r))) 1 (bisect (reverse (binexp->runcount1list n)) (- 1 (modulo n 2)))))
    ;; See A227349 for the required other functions.
    

Formula

a(n) = A124859(A005940(1+n)).

A246661 Run Length Transform of swinging factorials (A056040).

Original entry on oeis.org

1, 1, 1, 2, 1, 1, 2, 6, 1, 1, 1, 2, 2, 2, 6, 6, 1, 1, 1, 2, 1, 1, 2, 6, 2, 2, 2, 4, 6, 6, 6, 30, 1, 1, 1, 2, 1, 1, 2, 6, 1, 1, 1, 2, 2, 2, 6, 6, 2, 2, 2, 4, 2, 2, 4, 12, 6, 6, 6, 12, 6, 6, 30, 20, 1, 1, 1, 2, 1, 1, 2, 6, 1, 1, 1, 2, 2, 2, 6, 6, 1, 1, 1, 2, 1, 1
Offset: 0

Views

Author

Peter Luschny, Sep 07 2014

Keywords

Comments

For the definition of the Run Length Transform see A246595.

Crossrefs

Programs

  • Mathematica
    f[n_] := n!/Quotient[n, 2]!^2; Table[Times @@ (f[Length[#]]&) /@ Select[ Split[ IntegerDigits[n, 2]], #[[1]] == 1&], {n, 0, 85}] (* Jean-François Alcover, Jul 11 2017 *)
  • Python
    # use RLT function from A278159
    from math import factorial
    def A246661(n): return RLT(n,lambda m: factorial(m)//factorial(m//2)**2) # Chai Wah Wu, Feb 04 2022
  • Sage
    # uses[RLT from A246660]
    A246661_list = lambda len: RLT(lambda n: factorial(n)/factorial(n//2)^2, len)
    A246661_list(88)
    

Formula

a(2^n-1) = n$ where n$ is the swinging factorial of n, A056040(n).

A277012 Factorial base representation of n is rewritten as a base-2 number with each nonzero digit k replaced by a run of k 1's (followed by one extra zero if not the rightmost run of 1's) and with each 0 kept as 0.

Original entry on oeis.org

0, 1, 2, 5, 6, 13, 4, 9, 10, 21, 22, 45, 12, 25, 26, 53, 54, 109, 28, 57, 58, 117, 118, 237, 8, 17, 18, 37, 38, 77, 20, 41, 42, 85, 86, 173, 44, 89, 90, 181, 182, 365, 92, 185, 186, 373, 374, 749, 24, 49, 50, 101, 102, 205, 52, 105, 106, 213, 214, 429, 108, 217, 218, 437, 438, 877, 220, 441, 442, 885, 886, 1773, 56, 113, 114, 229, 230, 461, 116, 233
Offset: 0

Views

Author

Antti Karttunen, Sep 25 2016

Keywords

Examples

			9 = "111" in factorial base (3! + 2! + 1! = 9) is converted to three 1-bits with separating zeros between, in binary as "10101" = A007088(21), thus a(9) = 21.
91 = "3301" in factorial base (91 = 3*4! + 3*3! + 1!) is converted to binary number "1110111001" = A007088(953), thus a(91) = 953. Between the rightmost 1-runs the other zero comes from the factorial base representation, while the other zero is an extra separating zero inserted after each run of 1-bits apart from the rightmost 1-run. The single zero between the two leftmost 1-runs is similarly used to separate the two "unary representations" of 3's.
		

Crossrefs

Cf. A277008 (terms sorted into ascending order).
Cf. A277011 (a left inverse).
Differs from analogous A277022 for the first time at n=24, where a(24) = 8, while A277022(24) = 60.

Programs

  • Scheme
    (define (A277012 n) (let loop ((n n) (z 0) (i 2) (j 0)) (if (zero? n) z (let ((d (remainder n i))) (loop (quotient n i) (+ z (* (A000225 d) (A000079 j))) (+ 1 i) (+ 1 j d))))))

Formula

a(n) = A156552(A276076(n)).
Other identities. For all n >= 0:
A277011(a(n)) = n.
A005940(1+a(n)) = A276076(n).
A000035(a(n)) = A000035(n). [Preserves the parity of n.]
A000120(a(n)) = A034968(n).
A069010(a(n)) = A060130(n).
A227349(a(n)) = A227153(n).

A227350 Product of lengths of runs of 0-bits in binary representation of n, or 1 if no nonleading zeros present.

Original entry on oeis.org

1, 1, 1, 1, 2, 1, 1, 1, 3, 2, 1, 1, 2, 1, 1, 1, 4, 3, 2, 2, 2, 1, 1, 1, 3, 2, 1, 1, 2, 1, 1, 1, 5, 4, 3, 3, 4, 2, 2, 2, 3, 2, 1, 1, 2, 1, 1, 1, 4, 3, 2, 2, 2, 1, 1, 1, 3, 2, 1, 1, 2, 1, 1, 1, 6, 5, 4, 4, 6, 3, 3, 3, 6, 4, 2, 2, 4, 2, 2, 2, 4, 3, 2, 2, 2, 1, 1
Offset: 0

Views

Author

Antti Karttunen, Jul 08 2013

Keywords

Examples

			a(0) = 1, regardless whether one considers the binary representation of zero to have one zero or no digits at all, because also the empty product is 1. Similarly for any numbers of form (2^k)-1, where no nonleading 0-bits occur, the result of an empty product is always 1.
a(8) = 3, as 8 is "1000" in binary, and there is one run of three 0-bits present.
a(68) = 6, 68 is "1000100" in binary, there are one run of three 0-bits and one run of two 0-bits, thus 2*3 = 6.
		

Crossrefs

Cf. A023416 (sum of lengths of runs of 0-bits), A167489, A227349, A227355, A227193.

Programs

  • Maple
    a:= proc(n) local i, m, r; m, r:= n, 1;
          while m>0 do
            for i from 0 while irem(m, 2, 'h')=0 do m:=h od;
            while irem(m, 2, 'h')=1 do m:=h od;
            r:= r*max(i, 1)
          od; r
        end:
    seq(a(n), n=0..100);  # Alois P. Heinz, Jul 11 2013
  • Mathematica
    a[n_] := Times @@ Length /@ Select[Split @ IntegerDigits[n, 2], #[[1]] == 0 &]; Array[a, 100, 0] (* Jean-François Alcover, Mar 03 2016 *)
  • Scheme
    (define (A227350 n) (apply * (bisect (reverse (binexp->runcount1list n)) (modulo n 2))))
    (define (bisect lista parity) (let loop ((lista lista) (i 0) (z (list))) (cond ((null? lista) (reverse! z)) ((eq? i parity) (loop (cdr lista) (modulo (1+ i) 2) (cons (car lista) z))) (else (loop (cdr lista) (modulo (1+ i) 2) z)))))
    (define (binexp->runcount1list n) (if (zero? n) (list) (let loop ((n n) (rc (list)) (count 0) (prev-bit (modulo n 2))) (if (zero? n) (cons count rc) (if (eq? (modulo n 2) prev-bit) (loop (floor->exact (/ n 2)) rc (1+ count) (modulo n 2)) (loop (floor->exact (/ n 2)) (cons count rc) 1 (modulo n 2)))))))

Formula

A167489(n) = a(n) * A227349(n).
A227193(n) = A227349(n) - a(n).
A227355(n) = a(A003714(n)).
A003714 gives the only terms k for which a(k) = A167489(k).

A277325 Product of nonzero coefficients of the n-th Stern polynomial.

Original entry on oeis.org

1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 3, 1, 4, 1, 1, 1, 2, 2, 9, 2, 12, 3, 6, 1, 6, 4, 9, 1, 8, 1, 1, 1, 2, 2, 18, 2, 20, 9, 24, 2, 32, 12, 30, 3, 40, 6, 12, 1, 12, 6, 45, 4, 60, 9, 24, 1, 18, 8, 27, 1, 16, 1, 1, 1, 2, 2, 36, 2, 60, 18, 48, 2, 72, 20, 160, 9, 140, 24, 72, 2, 96, 32, 200, 12, 240, 30, 140, 3, 120, 40, 160, 6, 160, 12, 24, 1
Offset: 0

Views

Author

Antti Karttunen, Oct 13 2016

Keywords

Comments

a(n) = product of nonzero terms on the n-th row of A125184.

Crossrefs

Cf. also A277326 (lcm of nonzero coefficients) and A002487 (their sum).

Programs

  • Scheme
    (define (A277325 n) (A005361 (A260443 n)))
    ;; A standalone implementation:
    (define (A277325 n) (reduce * 1 (filter positive? (A260443as_coeff_list n))))
    (definec (A260443as_coeff_list n) (cond ((zero? n) (list)) ((= 1 n) (list 1)) ((even? n) (cons 0 (A260443as_coeff_list (/ n 2)))) (else (add_two_lists (A260443as_coeff_list (/ (- n 1) 2)) (A260443as_coeff_list (/ (+ n 1) 2))))))
    (define (add_two_lists nums1 nums2) (let ((len1 (length nums1)) (len2 (length nums2))) (cond ((< len1 len2) (add_two_lists nums2 nums1)) (else (map + nums1 (append nums2 (make-list (- len1 len2) 0)))))))

Formula

a(n) = A005361(A260443(n)).
a(n) = A227349(A277020(n)).
a(2n) = a(n).
a(n) >= A277326(n).
Previous Showing 11-20 of 28 results. Next