

A064364


Positive integers sorted by A001414(n), the sum of their prime divisors, as the major key and n as the minor key.


12



1, 2, 3, 4, 5, 6, 8, 9, 7, 10, 12, 15, 16, 18, 14, 20, 24, 27, 21, 25, 30, 32, 36, 11, 28, 40, 45, 48, 54, 35, 42, 50, 60, 64, 72, 81, 13, 22, 56, 63, 75, 80, 90, 96, 108, 33, 49, 70, 84, 100, 120, 128, 135, 144, 162, 26, 44, 105, 112, 125, 126, 150, 160, 180, 192, 216, 243
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

1,2


COMMENTS

This is a permutation of the positive integers.
a(1) could be taken as 0 because 1 is not a member of A001414 and one could start with a(0)=1 (see the W. Lang link).
The row length sequence of this array is A000607(n), n>=2.
If the array is [1,0,2,3,4,5,6,6,...] with offset 0 then the row length sequence is A000607(n), n>=0.
For n > 1, a(n) is the smallest number not yet seen such that sopfr(a(n)) is the least possible integer. The sequence lists in increasing order elements of the finite sets S(k) = {x: sopfr(x)=k}, k >= 0, where sopfr(x) = 0 iff x = 1. When a(n) = A056240(k) for some k >= 2, then sopfr(a(n)) = k and a(n) is the first of A000607(k) terms, all of which have sopfr = k. (A000607(k) is the number of partitions of k into prime parts.) Consequently the sequence follows a sawtooth profile, rising from a(n) = A056240(k) to A000792(k), the greatest number with sopfr = k, then starting over with A056240(k+1) for the next larger value of sopfr. (End) [Edited by M. F. Hasler, Jan 19 2019]


LINKS



FORMULA



EXAMPLE

The triangle reads:
1,
(0,) (see comment in link to "first 16 rows" by W. Lang)
2,
3,
4,
5, 6,
8, 9,
7, 10, 12,
15, 16, 18,
14, 20, 24, 27,
21, 25, 30, 32, 36,
11, 28, 40, 45, 48, 54,
35, 42, 50, 60, 64, 72, 81,
13, 22, 56, 63, 75, 80, 90, 96, 108,
...


MATHEMATICA

terms = 1000; nmax0 = 100000 (* a rough estimate of max sopfr *);
sopfr[n_] := sopfr[n] = Total[Times @@@ FactorInteger[n]];
f[n1_, n2_] := Which[t1 = sopfr[n1]; t2 = sopfr[n2]; t1 < t2, True, t1 == t2, n1 <= n2, True, False];
Clear[g];
g[nmax_] := g[nmax] = Sort[Range[nmax], f][[1 ;; terms]];
g[nmax = nmax0];
g[nmax += nmax0];
While[g[nmax] != g[nmax  nmax0], Print[nmax]; nmax += nmax0];


PROG

(Haskell)
import Data.List (partition, union)
a064364 n k = a064364_tabf !! (n1) !! (k1)
a064364_row n = a064364_tabf !! (n1)
a064364_tabf = [1] : tail (f 1 [] 1 (map a000792 [2..])) where
f k pqs v (w:ws) = (map snd pqs') :
f (k + 1) (union pqs'' (zip (map a001414 us) us )) w ws where
us = [v + 1 .. w]
(pqs', pqs'') = partition ((== k) . fst) pqs
a064364_list = concat a064364_tabf
(PARI) lista(nn) = {nmax = A000792(nn); v = vector(nmax, k, A001414(k)); for (n=1, nn, vn = select(x>x==n, v, 1); for (k = 1, #vn, print1(vn[k], ", ")))} \\ Michel Marcus, May 01 2018
(PARI) A064364_vec(N, k=6, L=9)={vector(N, i, if(i<7, N=i, until(A001414(N+=1)==k, ); N<L, N, k++; L=3^((k2)\3)*(2+(k2)%3); N+0*N=A056240(k)1))} \\ To compute terms up to a given value of k=sopfr(n) and/or for large N >> 1000, it is more efficient to use code similar to lista() above, with "for(k...)" replaced by "a=concat(a, vn)".  M. F. Hasler, Jan 19 2019


CROSSREFS



KEYWORD



AUTHOR



EXTENSIONS



STATUS

approved



