A328483 Maximum number of times any term appears when n is expressed as a greedy sum of terms of A129912 (maximal digit when n is expressed in greedy A129912-base).
0, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1
Offset: 0
Keywords
Examples
Terms of A129912 (numbers that are products of distinct primorial numbers) begin as: 1, 2, 6, 12, 30, 60, 180, 210, 360, 420, 1260, ... Number 5 is expressed as 5 = 2 + 2 + 1 when always choosing the largest term which is <= {what is remaining of the original number}. Thus a(5) = 2 as the most frequent term (2) occurs twice. Number 21 is expressed as 21 = 12 + 6 + 2 + 1, thus a(21) = 1 as no term occurs more than once. Number 720 is expressed as 720 = 420 + 210 + 60 + 30, thus a(720) = 1 as no term occurs twice. Note that 720 = 2*360, so an algorithm which would search for an optimal result would yield a different value at n=720.
Links
Programs
-
PARI
isA129912(n) = { my(o=valuation(n, 2), t); if(o<1||n<2, return(n==1)); n>>=o; forprime(p=3, , t=valuation(n, p); n/=p^t; if(t>o || t
A129912 prepare_A129912_upto(n) = { my(xs=List([]), k=0); while(k A129912(k), listput(xs,k))); List(Vecrev(xs)); }; max_factor_of_terms_in_greedy_sum(n,terms) = { my(m=0); while(n,if(terms[1] > n, listpop(terms,1), m = max(m,(n\terms[1])); n %= terms[1])); (m); }; A328483(n) = max_factor_of_terms_in_greedy_sum(n,prepare_A129912_upto(n));
Comments