A331232 Record numbers of factorizations into distinct factors > 1.
1, 2, 3, 5, 7, 9, 10, 16, 18, 25, 34, 38, 57, 59, 67, 70, 91, 100, 117, 141, 161, 193, 253, 296, 306, 426, 552, 685, 692, 960, 1060, 1067, 1216, 1220, 1589, 1591, 1912, 2029, 2157, 2524, 2886, 3249, 3616, 3875, 4953, 5147, 5285, 5810, 6023, 6112, 6623, 8129
Offset: 1
Keywords
Examples
Representatives for the initial records and their strict factorizations: () (6) (12) (24) (48) (60) (96) (120) (2*3) (2*6) (3*8) (6*8) (2*30) (2*48) (2*60) (3*4) (4*6) (2*24) (3*20) (3*32) (3*40) (2*12) (3*16) (4*15) (4*24) (4*30) (2*3*4) (4*12) (5*12) (6*16) (5*24) (2*3*8) (6*10) (8*12) (6*20) (2*4*6) (2*5*6) (2*6*8) (8*15) (3*4*5) (3*4*8) (10*12) (2*3*10) (2*3*16) (3*5*8) (2*4*12) (4*5*6) (2*3*20) (2*4*15) (2*5*12) (2*6*10) (3*4*10) (2*3*4*5)
Links
- Giovanni Resta, Table of n, a(n) for n = 1..122
- Jun Kyo Kim, On highly factorable numbers, Journal Of Number Theory, Vol. 72, No. 1 (1998), pp. 76-91.
Crossrefs
Programs
-
Mathematica
nn=1000; strfacs[n_]:=If[n<=1,{{}},Join@@Table[Map[Prepend[#,d]&,Select[strfacs[n/d],Min@@#>d&]],{d,Rest[Divisors[n]]}]]; qv=Table[Length[strfacs[n]],{n,nn}]; Union[qv//.{foe___,x_,y_,afe___}/;x>y:>{foe,x,afe}]
-
Python
def fact(num): ret = [] temp = num div = 2 while temp > 1: while temp % div == 0: ret.append(div) temp //= div div += 1 return ret def all_partitions(lst): if lst: x = lst[0] for partition in all_partitions(lst[1:]): yield [x] + partition for i, _ in enumerate(partition): partition[i] *= x yield partition partition[i] //= x else: yield [] best = 0 terms = [0] q = 2 while len(terms) < 100: total_set = set() factors = fact(q) total_set = set(tuple(sorted(x)) for x in all_partitions(factors) if len(x) == len(set(x))) if len(total_set) > best: best = len(total_set) terms.append(best) print(q,best) q += 2#only check evens print(terms) # David Consiglio, Jr., Jan 14 2020
Extensions
a(26)-a(37) from David Consiglio, Jr., Jan 14 2020
a(38) and beyond from Giovanni Resta, Jan 17 2020