No parece que la solución sea correcta para casos generales. Tomemos 36 por ejemplo, el factor primo más grande es 3 pero el código devolverá 9. Para 108, dará 1.
Lo que podemos entender del código es que, dado [matemáticas] n = p_ {1} ^ {m_ {1}} p_ {2} ^ {m_ {2}}… .p_ {i} ^ {m_ {i}} [/ math], seguirá dividiendo el número [math] n [/ math] hasta el segundo último primo, [math] p_ {i-1} [/ math] como [math] p_ {i-1} < p_ {i} \ implica p_ {i-1} ^ {2} <p_ {i-1} ^ {m_ {i-1}} p_ {i} ^ {m_ {i}} [/ math]. Ahora hay tres casos a considerar para la última prima,
- [matemática] m_ {i} = 1 [/ matemática], en este caso, el código se detendrá como [matemática] n = p_ {i} [/ matemática] ya que todos los demás números primos ya han dividido [matemática] n [/ math] y devolverá [math] p_ {i} [/ math].
- [matemática] m_ {i} = 2 [/ matemática], en este caso el código se detendrá aquí y devolverá [matemática] p_ {i} ^ {2} [/ matemática], esta es una respuesta incorrecta.
- [math] m_ {i}> 2 [/ math], en este caso habrá una iteración más y [math] n [/ math] se dividirá entre [math] p_ {i} [/ math] hasta que se reduzca a 1 y el código devolverá 1. Otra respuesta incorrecta.
- ¿Cuál es un buen algoritmo para el problema de la mochila 0-1 cuando los pesos están positivamente relacionados con los valores?
- Cómo completar consultas en tiempo O (1) en un problema RANGESUM en SPOJ
- Cómo recorrer un trabajo de búsqueda binaria e imprimirlo en orden
- ¿Cómo comparamos la complejidad del espacio y el tiempo como O (n ^ 2) tiempo versus O (n) espacio y O (n) tiempo?
- Dados los pares 'n1' de corchetes "[]", los pares 'n2' de corchetes "{}" y los pares 'n3' de corchetes "()", ¿cómo podemos encontrar todas las combinaciones válidas posibles de todos estos pares de manera eficiente?