A358677 Irregular triangle where row n gives the columns of A340316 whose minimum value is in row n of A340316. The lists of column indices are given in abbreviated form, using pairs (x, y) to mean the range [x..y].
1, 16, 18, 18, 21, 21, 17, 17, 19, 20, 22, 265549, 265604, 265605, 265608, 265681, 265683, 265829, 265831, 265831, 265835, 265836, 265850, 265850, 265853, 265853, 265862, 265873, 265550, 265603, 265606, 265607, 265682, 265682, 265830, 265830, 265832, 265834, 265837, 265849, 265851, 265852, 265854, 265861
Offset: 1
Examples
First 2 rows are: {1..16, 18..18, 21..21} for [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,21]; {17..17, 19..20, 22..265549, 265604..265605, 265608..265681, 265683..265829, 265831..265831, 265835..265836, 265850..265850, 265853..265853, 265862..265873}. The A340316 first 2 rows being: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ----------------------------------------------------------------- 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 6 10 14 15 21 22 26 33 34 35 38 39 46 51 55 57 58 62 65 69 74 77 the first columns that give row 2: ^^ ^^ ^^ ^^ Row 3 begins: {265550..265603, 265606..265607, 265682..265682, 265830..265830, 265832..265834, ...
Programs
-
PARI
showlist(list) = {my(slist = List()); listput(slist, list[1]); for (i=2, #list, if (list[i] != list[i-1]+1, listput(slist, list[i-1]); listput(slist, list[i]););); listput(slist, list[#list]); Vec(slist);} primo(i) = factorback(primes(i)); ubound(nL, n) = {if (nL == 1, return(n*log(n) + n*log(log(n)))); if (nL == 2, return(n*log(n)/log(log(n)))); if (nL == 3, return(2*n*log(n)/log(log(n))^2)); if (nL == 4, return(3*n*log(n)/log(log(n))^3)); if (nL == 5, return(4*n*log(n)/log(log(n))^4));} out(list1, list2, list3) = print(showlist(list1)); print(showlist(list2)); print(showlist(list3)); rows() = {my(nL = 3, nC = 1000000, nB=5); my(m=vector(nL, i, vector(nC))); my(vfirst = vector(nL, i, primo(i))); my(list1 = List(), list2 = List(), list3 = List()); for (nn=1, nB, my(ok=1); print("nn=", nn); for (i=1, nL, my(list = List()); my(na = vfirst[i]); my(ns = 1); if (nn==1, m[i][ns] = na; ns++); forsquarefree (k=na+1, 100*round(ubound(i,nn*nC)), if (omega(k[2]) == i, m[i][ns] = k[1]; ns++); if (ns > nC, break)); if (ns < nC, print("not enough"); out(list1, list2, list3); return;);); N = 1; for (j=1, nC, if (m[N][j] == vecmin (vector(nL, r, m[r][j])), listput(list1, j+(nn-1)*nC));); N = 2; for (j=1, nC, if (m[N][j] == vecmin (vector(nL, r, m[r][j])), listput(list2, j+(nn-1)*nC));); N = 3; for (j=1, nC, if (m[N][j] == vecmin (vector(nL, r, m[r][j])), listput(list3, j+(nn-1)*nC));); vfirst = vector(nL, i, m[i][nC]); for (i=1, nL, m[i] = vector(nC));); out(list1, list2, list3);}
Extensions
Provisional rule for calculating that row n is full added by Peter Munn, Jan 03 2023
Comments