2 votos

Forma eficiente de comprobar si los factores primos son iguales

Dados dos enteros positivos $m$ y $n$ tal que $1<m<n$ ¿cuál es una forma eficiente de comprobar si los factores primos de $m$ y $n$ son exactamente iguales, es decir, si $\mathcal{P}_m=\mathcal{P}_n$ , donde $\mathcal{P}_k$ denota el conjunto formado por todos los factores primos del número $k$ ?

Tengo una suposición, pero no sé cómo probarlo. Si ponemos $a_1=n/m$ , entonces si $a_1>1$ y si $\text{gcd}\,(a_1,m)=1$ entonces $m$ y $n$ no tienen los mismos factores primos. De lo contrario, y aquí está mi conjetura, si $m>a_1>1$ et $\text{gcd}\,(a_1,m)\neq a_1$ o si $a_1>m$ y $\text{gcd}\,(a_1,m)\neq m$ entonces $m$ y $n$ no tienen los mismos factores primos. En caso contrario, si $m>a_1>1$ y $\text{gdc}\,(a_1,m)=a_1$ entonces $m$ y $n$ tienen los mismos factores primos y si $a_1>m$ y $\text{gdc}\,(a_1,m)=m$ repetimos el proceso con $a_2=a_1/m$ . Y si para algunos $r$ , $a_r=1$ entonces $m$ y $n$ tienen los mismos factores primos.

Además de que no puedo demostrar si mi proceso es correcto, me parece que es demasiado complicado. Así que, si hay otro algoritmo (menos complicado), por favor muéstrame.

6voto

rlpowell Puntos 126

Puedes basar un algoritmo en el siguiente teorema:

$$P(m)\subseteq P(n)\iff \begin{cases} m=1\\\quad\text{or}\\ (m,n)\gt1\text{ and }P(m/(m,n))\subseteq P(n) \end{cases}$$ donde $(m,n)=\gcd(m,n)$ .

Tomando prestado uno de los ejemplos de Steven Gregory, mostremos que $P(120)=P(450)$ mostrando primero que $P(120)\subseteq P(450)$ y luego que $P(450)\subseteq P(120)$ .

Para la primera inclusión, observamos que $(120,450)=30\gt1$ Por lo tanto

$$P(120)\subseteq P(450)\iff P(4)\subseteq P(450)$$

A continuación vemos que $(4,450)=2\gt1$ Por lo tanto

$$P(4)\subseteq P(450)\iff P(2)\subseteq P(450)$$

Finalmente, $(2,450)=2\gt$ Por lo tanto

$$P(2)\subseteq P(450)\iff P(1)\subseteq P(450)$$

y el teorema dice la última afirmación, $P(1)\subseteq P(450)$ es cierto.

Para la inclusión inversa, consideraciones similares dan

$$\begin{align} P(450)\subseteq P(120)&\iff P(15)\subseteq P(120)\quad\text{since }(450,120)=30\gt1\\ &\iff P(1)\subseteq P(120)\quad\text{since }(15,120)=15\gt1\\ \end{align}$$

Para dar un ejemplo más, mostremos que $P(420)\not=P(450)$ :

$$\begin{align} P(420)\subseteq P(450)&\iff P(14)\subseteq P(450)\quad\text{since }(420,450)=30\gt1\\ &\iff P(7)\subseteq P(450)\quad\text{since }(14,450)=2\gt1\\ \end{align}$$

pero $(7,450)=1$ con $7\not=1$ por lo que el teorema dice $P(7)\not\subseteq P(450)$ , lo que implica $P(420)\not\subseteq P(450)$ Lo que significa que los dos no son ciertamente iguales.

Observación: Vale la pena señalar que el algoritmo descrito aquí tomará algo así como $10$ iteraciones para mostrar $P(1024)\subseteq P(2)$ lo que parece insoportablemente lento, pero en el gran esquema de las cosas, eso es sólo alrededor de tres veces el número de dígitos en el número $m$ que no es tan malo. En particular, el algoritmo nunca requiere encontrar explícitamente ninguno de los factores primos de $m$ ou $n$ Por ejemplo, se ejecutará felizmente en un par de números de un millón de dígitos, cada uno de los cuales es un producto de potencias de algún conjunto desconocido de primos de mil dígitos.

2voto

Steven Gregory Puntos 3326

Dejemos que $1 < m < n$ y que $g = gcd(m,n)$ Esto es lo que se me ocurrió. No sé si es muy útil.

$(1.)\color{red}{ \quad P(m) = P(n) \iff P\left(\dfrac mg \cdot \dfrac ng \right) = P(m)\; \text{\{This is FALSE}\}}$

$(1') \quad \text{If}\; m=an \; \text{and} \; a \mid n, \; \text{then} \;P(m) = P(n)$

$(2.) \quad \text{If}\;d\mid m \; \text{ then}\; \left\{ P\left(\dfrac md \right) \subseteq P(d) \implies P(d) = P(m)\right\}$

$(3.) \quad \gcd(m,n) = 1 \implies P(m) \ne P(n)$

$(4.) \quad P(ab) = P(a) \cup P(b)$

EJEMPLO 1

$450 = 15 \cdot 30 \;\text{and}\; 15 \mid 30 \implies P(450) = P(30)$

EJEMPLO 2

$P(180) = P(1050) \iff P(6 \cdot 35) = P(180) \iff P(180) = P(210)$
$\iff P(6 \cdot 7) = P(180) \iff P(42) = P(180)$

$P(42) = \{2,3,7\} \nsubseteq P(180)$ Así que $P(180) \ne P(1050)$

EJEMPLO 3

$P(180) = P(30) \cup P(6) = \{2,3,5\} \cup \{2,3\} = \{2,3,5\}$
$P(450) = P(30) \cup P(15) = \{2,3,5\} \cup \{3,5\} = \{2,3,5\}$
Por lo tanto, $P(180) = P(450)$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X