|
|
A288813
|
|
Irregular triangle read by rows: T(m, k) is the list of squarefree numbers A002110(m) < t < 2*A002110(m) such that A001221(t) = m.
|
|
4
|
|
|
3, 10, 42, 330, 390, 2730, 3570, 3990, 4290, 39270, 43890, 46410, 51870, 53130, 570570, 690690, 746130, 870870, 881790, 903210, 930930, 1009470, 11741730, 13123110, 14804790, 15825810, 16546530, 17160990, 17687670, 18888870, 281291010, 300690390, 340510170
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
The only odd term is 3; the only other term not ending in 10, 30, 70, or 90 in decimal is 42.
All terms t in row m have A001221(t) = m and at least one prime q coprime to t such that q < A006530(t).
Consider "tier" m and primorial p_m# = A002110(m), let "distension" i = pi(A006530(T(m, k))) - m and let "depth" j = m - pi(A053669(T(m, k))) + 1. Distension is the difference in the index of gpf(T(m, k)) and pi(m), while depth is the difference between the index of the least prime totative of T(m, k) and pi(m) + 1. We can calculate the maximum distension i given m and j via i_max = A020900(m - j + 1) - m - j + 1. This enables us to use permutations of 0 and 1 values in the notation A054841 and produce a(n) with some efficiency.
The most efficient method of generating a(n) is via f(x) = A287352(x), i.e., subtracting 1 from all values in row x of A287352. We use a pointer variable to direct increment on f(p_m#) = a constant array of m 1's, until we have exhausted producing terms p_m# < t < 2*p_m#. This enables the generation of T(m, k) for 1 <= m <= 100.
|
|
LINKS
|
Eric Weisstein's World of Mathematics, Primorial
|
|
EXAMPLE
|
Triangle begins:
n a(n)
1: 3
2: 10
3: 42
4: 330 390
5: 2730 3570 3990 4290
6: 39270 43890 46410 51870 53130
7: 570570 690690 746130 870870 881790 903210 930930 1009470
...
|
|
MATHEMATICA
|
Table[Function[P, Select[Range[P + 1, 2 P - 1], And[SquareFreeQ@ #, PrimeOmega@ # == n] &]]@ Product[Prime@ i, {i, n}], {n, 7}] // Flatten (* Michael De Vlieger, Jun 24 2017 *)
f[n_] := Block[{P = Product[Prime@ i, {i, n}], lim, k = 1, c, w = ConstantArray[1, n]}, lim = 2 P; Sort@ Reap[Do[w = If[k == 1, MapAt[# + 1 &, w, -k], Join[Drop[MapAt[# + 1 &, w, -k], -k + 1], ConstantArray[1, k - 1]]]; c = Times @@ Map[If[# == 0, 1, Prime@ #] &, Accumulate@ w]; If[c < lim, Sow[c]; k = 1, If[k == n, Break[], k++]], {i, Infinity}] ][[-1, 1]] ]; Array[f, 9] // Flatten (* Michael De Vlieger, Jun 28 2017, faster *)
|
|
PROG
|
(PARI) primo(n) = prod(i=1, n, prime(i));
row(n) = my(vrow = []); for (j=primo(n)+1, 2*primo(n)-1, if (issquarefree(j) && (omega(j)==n), vrow = concat(vrow, j))); vrow;
tabf(nn) = for (n=1, nn, print(row(n))); \\ Michel Marcus, Jun 29 2017
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,tabf,easy
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|