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.
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
Keywords
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
Links
- David A. Corneth, Table of n, a(n) for n = 1..370 (terms 1..150 from Seiichi Manyama, terms 150..273 from Antti Karttunen)
- David A. Corneth, Tuples up to n = 370.
- Index entries for sequences related to Egyptian fractions
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
Comments