¡Urgente! ! ¡Pídale a un experto en lenguaje C que responda dos preguntas ~~~! ! !
/****************************************** ***********************************
Ingresa cualquier número entero desde el teclado m, si m no es un número primo, realice una factorización prima en m,
y represente m como un producto en el que los factores primos están ordenados en orden ascendente, y generelos; de lo contrario, genere
"Es un número primo\n". Por ejemplo, cuando el usuario ingresa 90, el programa genera 90 = 2 * 3 * 3 * 5;
Cuando el usuario ingresa 91, el programa genera "Es un número primo\n".
Número Primo, también conocido como número primo, es un número entero positivo que no es divisible por 1 y otros números enteros distintos de él mismo.
Según esta definición, los números negativos, 0 y 1, no son números primos, y la razón por la que 17 es un número primo es porque, a excepción de 1 y 17,
No puede ser entre 2 y 16 Divisible por cualquier número entero.
Necesitas utilizar funciones.
********************************************* ***** *************************************/
# include #include /** *Función recursiva, genera el producto de factores */ void printProduct(número largo) { long i; for(i = 2; i <= sqrt(número) ; i++) { if(número % i == 0) { long factormayor = número / i; Factor máximo printf("%ld * ", i); printProduct(biggestFactor break; } } if(i > sqrt(number)) //Si no se puede factorizar, genera la salida misma { printf( "%ld\n ", número); } } /** *La función para determinar si es un número primo y devuelve 1. No devuelve 0 */ int isPrime(número largo) { long i; for(i = 2; i <= sqrt(número); i++) { if(número % i == 0) { return 0 ; } } devuelve 1; } int main() { número largo; int i; printf("Ingrese un número:"); scanf ("%ld", &number ); if(isPrime(number) == 1) { printf("Es un número primo\ n"); } else { printf("%ld = ", número); printProduct(number) ; } } /* Si un entero positivo m tiene todos los factores diferentes menos que m (incluido 1) más es exactamente igual al propio m, entonces se llama número perfecto (Número Perfecto). Por ejemplo, 6 es un número perfecto, porque 6 = 1 + 2 + 3. Escriba una función IsPerfect() que determine un número perfecto. Función función: determina un número perfecto Si la función devuelve 0, significa que no es un número perfecto. es un numero perfecto. En la función de llamada principal, ingrese un número, llame a la subfunción IsPerfect() y juzgue si la entrada de un entero desde el teclado es un número perfecto de acuerdo con el valor de retorno de la función. */ #include #include int esPerfecto(número largo) { long i; long suma = 1; long factorPool[1000]; //matriz de grupo de factores p> p> int j = 0; // subíndice de matriz del grupo de factores for(i = 2; i <= sqrt(number); i++) { p> if(número % i == 0) { factorPool[j++] = i; factorPool[j++ ] = número / i; suma += i; suma += número / i; } } p> if(suma == número) { int k; printf("%ld = 1 + ", número); for(k = 0; k < j - 1; k++) { printf("%ld + ", factorPool[k]); } printf("%ld", factorPool[k]); devuelve 1; } else { return 0; } } int main() { número largo; printf("Ingrese un número:"); scanf("%ld", &number ); p> if(isPerfect(number)) { printf(", entonces es un número perfecto.\n"); > } else { printf("%d no es un número perfecto.\n", número } } Por cierto, la persona de arriba cometió un error en la segunda pregunta. 33550336 es un número perfecto. Si usas el programa de arriba para juzgar, el. el programa fallará directamente