¿Dado dos factorizaciones distintas de un número entero positivo con el mismo número de factores (no necesariamente primeros o todos distintos), las sumas de los respectivos conjuntos de factores también deben ser distintivas? Esta pregunta se presenta con frecuencia en acertijos de tipo KenKen o Killer Sudoku. No he encontrado buscar a mano los ejemplos contrarios obvio. Para el propósito a mano, los números se descomponen en factores pueden limitarse a menos de 1000, dicen.
Respuestas
¿Demasiados anuncios?Las sumas que se puede coincidir, por ejemplo,$\,144 = 8 \cdot 6 \cdot 3 = 4 \cdot 4 \cdot 9\,$$\,8+6+3=4+4+9\,$.
[ EDITAR ] También, $144 = 2\cdot8\cdot9 = 3 \cdot 4 \cdot 12$$\,2+8+9=3+4+12\,$, por lo que varias de tales factorizations puede existir el mismo número.
Morevover, existen tales con la misma suma por ejemplo,$\,1680 = 4 \cdot 20 \cdot 21 = 5 \cdot 12 \cdot 28 = 7 \cdot 8 \cdot 30\,$$\,4+20+21=5+12+28=7+8+30\,$.
[ EDITAR #2 ] La $\scriptsize\color{silver}{\text{(quick-and-dirty)}}$ código Python se utiliza para la búsqueda de los trillizos de factores:
n = 2000 # upper bound of range to check
k = 2 # minimum number of matching triples that get listed
m = 2 # change to 1 to allow unit factors
o = 0 # change to 1 to disallow identical factors in a triple
px = [{} for i in range(n)]
for a in range(m, n):
for b in range(a + o, n // a):
for c in range(b + o, n // ( a * b)):
p = a * b * c; s = a + b + c
px[p][s] = px[p].get(s, []) + [(a, b, c)]
for i in range((o+1)**3, n):
for j in sorted(px[i].keys()):
if len(px[i][j]) >= k:
print(str(i) + "\t+" + str(j) + "\t" + str(px[i][j])[1:-1])
Algunos más:
- número más pequeño que se ha $3$ juegos de $3$ triples cada uno que se suma a los diferentes valores:
$$ \begin{matrix} 5400 &= 5 \cdot 30 \cdot 36 &= 6 \cdot 20 \cdot 45 &= 9 \cdot 12 \cdot 50 &\quad\quad \style{font-family:inherit}{\text{sum}} &= 71\\ &= 5 \cdot 24 \cdot 45 &= 6 \cdot 18 \cdot 50 &= 10 \cdot 10 \cdot 54 & & = 74\\ &= 4 \cdot 30 \cdot 45 &= 5 \cdot 20 \cdot 54 &= 9 \cdot 10 \cdot 60 & &= 79\\ \end{de la matriz} $$
- smallest number that has $4$ sets of $4$ triples cada uno que se suma a los diferentes valores:
$$ \pequeño\begin{matrix} 166320 &= 20 \cdot 77 \cdot 108 &= 22 \cdot 63 \cdot 120 &= 24 \cdot 55 \cdot 126 &= 28 \cdot 45 \cdot 132 &\quad \style{font-family:inherit}{\text{sum}} &= 205\\ &= 16 \cdot 99 \cdot 105 &= 18 \cdot 70 \cdot 132 &= 21 \cdot 55 \cdot 144 &= 30 \cdot 36 \cdot 154 & & = 220\\ &= 11 \cdot 105 \cdot 144 &= 14 \cdot 66 \cdot 180 &= 16 \cdot 55 \cdot 189 &= 20 \cdot 42 \cdot 198 & & = 260 \\ &= 5 \cdot 154 \cdot 216 &= 6 \cdot 105 \cdot 264 &= 8 \cdot 70 \cdot 297 &= 21 \cdot 24 \cdot 330 & & = 375 \end{de la matriz} \\ $$
Pensé que podría ser divertido para escribir un Mathematica código para buscar instancias de la misma suma factorizations. Usar el siguiente código, usted puede encontrar los números enteros tales que num
diferentes conjuntos de len
diferentes misma longitud factorizations de un entero menor que max
tienen la misma suma. Omite múltiplos de la menor de los casos sobre la base de que esos son aburridas.
El más pequeño de los números enteros con cada vez más grandes conjuntos de distintos misma suma factorizations son:
72, 432, 3456, 5760, 7200, 12096, 17280, 21600, ...
El más pequeño de los números enteros pares de cada vez más grandes conjuntos de distintos misma suma factorizations son:
144, 720, 2160, 5040, 8640, 10080, 14400, 25920, 30240, ...
El más pequeño de los números enteros con los triples de cada vez más grandes conjuntos de distintos misma suma factorizations son:
144, 1440, 2880, 7200, 8640, 15120, 17280, 30240, 30240, ...
30240 es un caso interesante con 6 diferentes del mismo de la factorización de la suma de 9 conjuntos, 4 10, 11 y 12.
factorizationList[n_Integer?PrimeQ] := {{n}}
factorizationList[n_Integer] :=
(factorizationList[n] =
Union[Append[Join@@
(#/{L__List}:>Sort/@Flatten[Outer[Join,L,1],1]&/@
Map[factorizationList,{#,n/#}&/@
#[[-Ceiling[Length[#]/2];;-2]]&[Divisors[n]],{2}]),{n}]])
Block[{num=2,len=10,max=25000},
DeleteDuplicates[DeleteCases[
Table[{n,Select[GatherBy[factorizationList[n],
{Total[#],Length[#]}&],
Length[#]>=num&]},
{n,max}],
{_, L_ /; Length[L] < num}],IntegerQ[#2[[1]]/#1[[1]]]&]]
Salida:
{{21600,{{{2,3,9,20,20},{2,3,10,15,24},{2,3,12,12,25},{2,5,5,18,24},
{2,5,8,9,30},{2,6,6,10,30},{3,3,8,10,30},{3,4,4,18,25},
{3,4,5,12,30},{3,5,5,9,32}}}}}