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.

A270599 Number of ways to express 1 as the sum of unit fractions with odd denominators such that the sum of those denominators is n.

Original entry on oeis.org

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

Views

Author

Seiichi Manyama, Mar 26 2016

Keywords

Comments

Number of partitions of n into such odd parts that the sum of their reciprocals is one. - Antti Karttunen, Jul 23 2018
It would be nice to know whether nonzero values may occur only on n of the form 8k+1.

Examples

			1 = 1/3 + 1/3 + 1/3, the sum of denominators is 9, this is the only expression of 1 as unit fractions with odd denominators that sum to 9, so a(9)=1.
1 = 1/15 + 1/5 + 1/5 + 1/5 + 1/3 = 1/9 + 1/9 + 1/9 + 1/3 + 1/3 are the only solutions with odd denominators that sum to 33, thus a(33) = 2. - _Antti Karttunen_, Jul 24 2018
		

Crossrefs

Programs

  • Mathematica
    Array[Count[IntegerPartitions[#, All, Range[1, #, 2]], ?(Total[1/#] == 1 &)] &, 70] (* _Michael De Vlieger, Jul 26 2018 *)
  • PARI
    A270599(n,maxfrom=n,fracsum=0) = if(!n,(1==fracsum),my(s=0, tfs, k=(maxfrom-!(maxfrom%2))); while(k >= 1, tfs = fracsum + (1/k); if(tfs > 1, return(s), s += A270599(n-k,min(k,n-k),tfs)); k -= 2); (s)); \\ Antti Karttunen, Jul 23 2018
    
  • PARI
    \\ More verbose version for computing values of a(n) for large n:
    A270599(n) = if(!(n%2), 0, my(s=0); forstep(k = n, 1, -2, print("A270599(", n, ") at toplevel, k=", k, " s=", s); s += A270599aux(n-k, min(k, n-k), 1/k)); (s));
    A270599aux(n,maxfrom,fracsum) = if(!n,(1==fracsum),my(s=0, tfs, k=(maxfrom-!(maxfrom%2))); while(k >= 1, tfs = fracsum + (1/k); if(tfs > 1, return(s), s += A270599aux(n-k,min(k,n-k),tfs)); k -= 2); (s)); \\ Antti Karttunen, Jul 24 2018
  • Ruby
    def f(n)
      n - 1 + n % 2
    end
    def partition(n, min, max)
      return [[]] if n == 0
      [f(max), f(n)].min.step(min, -2).flat_map{|i| partition(n - i, min, i).map{|rest| [i, *rest]}}
    end
    def A270599(n)
      ary = [1]
      (2..n).each{|m|
        cnt = 0
        partition(m, 2, m).each{|ary|
          cnt += 1 if ary.inject(0){|s, i| s + 1 / i.to_r} == 1
        }
        ary << cnt
      }
      ary
    end
    

Formula

a(2*k) = 0. - David A. Corneth, Jul 24 2018

Extensions

Name corrected by Antti Karttunen, Jul 23 2018 at the suggestion of David A. Corneth