Red de conocimiento informático - Problemas con los teléfonos móviles - Escriba un programa que lea un número entero n y muestre todos sus factores más pequeños:

Escriba un programa que lea un número entero n y muestre todos sus factores más pequeños:

¡Este código no solo tarda más de 1 segundo en ejecutarse, sino que también entra en un bucle infinito después de encontrar todos los números primos! Tome la entrada 120 como ejemplo. Cuando a=5 y n=5, ingrese if(an==0), ejecute a=a/n, luego n=1 y luego n=2; Volviendo a while(a!=0), el ciclo continúa porque a=1. En el futuro, 1 no será divisible por ningún número mayor que 1, por lo que n siempre aumenta en 1, mientras que a=1 permanece sin cambios. Esto se convierte en un bucle sin fin. Se puede cambiar así: int?main(void){

int?a;

cingt;gt;a;

int?n=2 ;

int?n=2;

cingt;gt;a; p>

//mientras(a!=0){

mientras (a!=1){

if(an==0){

coutlt;lt;nlt;lt;endl;

a=a/ n;

//n=1;

}

//n;

else?n;

}

retorno?0;

}