En c, lea un número entero k (2lt; =klt; =10000) y genere todos sus factores primos.
Declare una variable int i y recorra el rango de 2 a i*ilt;=k. Cuando puedo dividir k, se juzga que tanto i como k/i no son factores primos, entonces i y. k se generan. (o) k/i para que la pregunta cumpla con los requisitos. El código de muestra es el siguiente: //#include?"stdafx.h"//Si es vc 6.0, use esta línea.
#include?"stdio.h"
int?prime(int?n){// Personaliza la función para determinar números primos
int?i ;
if(ngt;2?amp;amp;?(namp;1)?|?nlt;2)return?0;
for(i=3;?i * ilt;=n;i =2)
if(!(ni))?return?0;
return?;
}
int?main(void){
int?k, x, i;
while(1){/ Asegúrese de que la entrada k cumpla con los requisitos
printf("Enter?a?positive?integer?k(1lt;klt;=10001)...\nk=");
if(scanf("d",amp; k), kgt;1?amp;amp;?klt;10001)
descanso;
printf("Error,?rehacer:?") )
}
for(x=0,i=2;i*ilt;=k;i)
if(ki==0){//en caso i divide k
if(prime(i))//salida i si i es primo
printf("d?", i);
if (prime( x=k /i))//k/i es un número primo, entonces se genera k/i
printf("d?",x);
} p>
if (!x)?printf("d",k); //i no divide k, lo que indica que k es un número primo
printf("\n");
¿volver? ;
}