Red de conocimiento informático - Computadora portátil - En c, lea un número entero k (2lt; =klt; =10000) y genere todos sus factores primos.

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);

}

if (!x)?printf("d",k); //i no divide k, lo que indica que k es un número primo

printf("\n");

¿volver? ;

}