login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A225561
Largest number m such that 1, 2, ..., m can be represented as the sum of distinct divisors of n.
5
1, 3, 1, 7, 1, 12, 1, 15, 1, 3, 1, 28, 1, 3, 1, 31, 1, 39, 1, 42, 1, 3, 1, 60, 1, 3, 1, 56, 1, 72, 1, 63, 1, 3, 1, 91, 1, 3, 1, 90, 1, 96, 1, 7, 1, 3, 1, 124, 1, 3, 1, 7, 1, 120, 1, 120, 1, 3, 1, 168, 1, 3, 1, 127, 1, 144, 1, 7, 1, 3, 1, 195, 1, 3, 1, 7, 1, 168, 1, 186, 1, 3
OFFSET
1,2
COMMENTS
n is called a practical number (A005153) if a(n) >= n.
LINKS
Paul Pollack and Lola Thompson, Practical pretenders, Publicationes Mathematicae Debrecen, Vol. 82, No. 3-4 (2013), pp. 651-717, arXiv preprint, arXiv:1201.3168 [math.NT], 2012.
FORMULA
a(n) = 1 if and only if n is odd. a(n) = 3 if and only if n in {2,10} mod 12. Otherwise a(n) >= 7.
a(n) = A030057(n)-1.
a(n) = A000203(A327832(n)). - Amiram Eldar, Sep 27 2019
MATHEMATICA
a[n_] := First[Complement[Range[DivisorSigma[1, n] + 1], Total /@ Subsets[Divisors[n]]]] - 1; Array[a, 100] (* Jean-François Alcover, Sep 27 2018 *)
f[p_, e_] := (p^(e + 1) - 1)/(p - 1); g[n_] := If[(ind = Position[(fct = FactorInteger[n])[[;; , 1]]/(1 + FoldList[Times, 1, f @@@ Most@fct]), _?(# > 1 &)]) == {}, n, Times @@ (Power @@@ fct[[1 ;; ind[[1, 1]] - 1]])]; a[n_] := DivisorSigma[1, g[n]]; Array[a, 100] (* Amiram Eldar, Sep 27 2019 *)
PROG
(PARI) a(n)=my(d=divisors(n), t, v=vector(2^#d-1, i, t=vecextract(d, i); sum(j=1, #t, t[j]))); v=vecsort(v, , 8); for(i=1, #v, if(v[i]!=i, return(i-1))); v[#v]
(Haskell) see Haskell link, 3.2.2
a225561 n = length $ takeWhile (not . null) $
map (ps [] $ a027750_row n) [1..] where
ps qs _ 0 = [qs]
ps _ [] _ = []
ps qs (k:ks) m =
if m == 0 then [] else ps (k:qs) ks (m - k) ++ ps qs ks m
-- Reinhard Zumkeller, May 11 2013
(Python)
from sympy import divisors
def A225561(n):
c = {0}
for d in divisors(n, generator=True):
c |= {a+d for a in c}
k = 1
while k in c:
k += 1
return k-1 # Chai Wah Wu, Jul 05 2023
CROSSREFS
KEYWORD
nonn,look
AUTHOR
STATUS
approved