2013 tiene la factorización prima 3*11*61
. 2014 tiene la factorización prima 2*19*53
. Una propiedad interesante con respecto a estas factorizaciones es que existen números primos distintos en las factorizaciones de 2013 y 2014 que se suma al mismo número: 11+61=19+53=72
.
Escriba un programa o función que tome como entrada dos enteros positivos mayores que 1 y devuelva un valor verdadero si existe una suma de factores primos seleccionados de un número que sea igual a una suma de factores primos seleccionados en el segundo número, y un Falsey valor lo contrario.
Aclaraciones
- Se pueden usar más de dos factores primos. No todos los factores primos del número deben usarse en la suma. No es necesario que el número de primos usados de los dos números sea igual.
- Incluso si un primo se eleva a una potencia mayor que 1 en la factorización de un número, solo se puede usar una vez en la suma de primos para el número.
- 1 no es primo.
- Ambos números de entrada serán menores que
2^32-1
.
Casos de prueba
5,6
5=5
6=2*3
5=2+3
==>True
2013,2014
2013=3*11*61
2014=2*19*53
11+61=19+53
==>True
8,15
8=2^3
15=3*5
No possible sum
==>False
21,25
21=3*7
25=5^2
No possible sum (can't do 3+7=5+5 because of exponent)
==>False
Este es el código de golf. Aplican reglas estándar. El código más corto en bytes gana.
true
, ya que comparten el factor 7
?