|
|
A130836
|
|
Square array d(m,n) = multiplicative distance between m>=1 and n>=1, read by antidiagonals.
|
|
4
|
|
|
0, 1, 1, 1, 0, 1, 2, 2, 2, 2, 1, 1, 0, 1, 1, 2, 2, 3, 3, 2, 2, 1, 1, 2, 0, 2, 1, 1, 3, 2, 1, 3, 3, 1, 2, 3, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 3, 4, 3, 3, 3, 3, 4, 3, 2, 1, 1, 1, 1, 2, 0, 2, 1, 1, 1, 1, 3, 2, 3, 4, 4, 3, 3, 4, 4, 3, 2, 3, 1, 2, 2, 2, 3, 3, 0, 3, 3, 2, 2, 2, 1, 2, 2, 2, 3, 1, 2, 4, 4, 2, 1, 3, 2, 2, 2
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,7
|
|
COMMENTS
|
If m = p_1^e_1 * p_2^e_2 * ... * p_k^e^k and n = p_1^f_1 * p_2^f_2 * ... * p_k^f^k, we define d(m, n) = Sum_{i = 1..k} |e_i - f_i| to be the multiplicative distance between m and n (see A130849).
Equivalently, if m/n = Product p_k^e_k, then d(m,n) = Sum |e_k|. - M. F. Hasler, Dec 08 2019
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
Array begins:
0 1 1 2 1 2 1 3 ...
1 0 2 1 2 1 2 2 ...
1 2 0 3 2 1 2 4 ...
2 1 3 0 3 2 3 1 ...
...
|
|
MAPLE
|
g:= proc(s) local t;
if s = 1 then 0
elif type(s, function) then 1
elif type(s, `^`) then abs(op(2, s))
else add(procname(t), t=s)
fi
end proc:
f:= (m, n) -> g(ifactor(m)/ifactor(n)):
seq(seq(f(m, n-m), m=1..n-1), n=1..20); # Robert Israel, Sep 17 2018
|
|
MATHEMATICA
|
t[n_, n_] = 0; t[n_, 1] := PrimeOmega[n]; t[n_, m_] := With[{g = GCD[n, m]}, PrimeOmega[n/g] + PrimeOmega[m/g]]; Table[t[n-m+1, m], {n, 1, 14}, {m, 1, n}] // Flatten (* Jean-François Alcover, Jan 17 2014, after R. J. Mathar *)
|
|
PROG
|
(PARI) T(m, n) = {if (m==n, 0, my(f=vecsort(concat(factor(m)[, 1], factor(n)[, 1]), , 8)); sum(i=1, #f, abs(valuation(m, f[i])-valuation(n, f[i]))))}; \\ Michel Marcus, Sep 20 2018
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|