[go: up one dir, main page]

login
A057144
Smallest of the most frequently occurring numbers in 1-to-n multiplication table.
10
1, 2, 2, 4, 4, 6, 6, 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 36, 36, 60, 60, 60, 60, 24, 24, 24, 24, 24, 24, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120
OFFSET
1,2
LINKS
Branden Aldridge, Table of n, a(n) for n = 1..20000 (terms 1..1000 from Reinhard Zumkeller, terms 1001..10000 from Reinhard Zumkeller and Charles R Greathouse IV)
Benjamin Dickman, What number appears most often in an n X n multiplication table?, Mathematics StackExchange, May 2014.
EXAMPLE
M(n) is the array in which m(x,y)= x*y for x = 1 to n and y = 1 to n. In m(10), the most frequently occurring numbers are 6, 8, 10, 12, 18, 20, 24, 30,40, each occurring 4 times. The smallest of these numbers is 6, so a(10) = 6.
PROG
(Haskell)
import Data.List (sort, group, sortBy, groupBy)
import Data.Function (on)
a057144 n = head $ last $ head $ groupBy ((==) `on` length) $
reverse $ sortBy (compare `on` length) $
group $ sort [u * v | u <- [1..n], v <- [1..n]]
-- Reinhard Zumkeller, Jun 22 2013
(PARI) T(n, f=factor(n))=my(k=#f~); f[, 1]=primes(k+1)[2..k+1]~; f[1, 1]=6; factorback(f)
listA025487(Nmax)=vecsort(concat(vector(logint(Nmax, 2), n, select(t->t<=Nmax, if(n>1, [factorback(primes(#p), Vecrev(p))|p<-partitions(n)], [1, 2])))))
ct(n, k)=sumdiv(n, d, max(d, n/d)<=k)
a(n)=if(n==1, return(1)); my(v=listA025487(n^2), r, t, at); for(i=1, #v, t=ct(v[i], n); if(t>r, r=t; at=v[i])); at \\ Charles R Greathouse IV, Feb 05 2022
CROSSREFS
KEYWORD
nonn
AUTHOR
Arran Fernandez, Aug 13 2000
EXTENSIONS
More terms from Larry Reeves (larryr(AT)acm.org), Apr 18 2001
STATUS
approved