Afficher les facteurs premiers
Dans cette étape, vous allez améliorer le programme de décomposition en facteurs premiers pour fournir une sortie plus détaillée et formatée des facteurs premiers. Nous allons modifier le fichier prime_factorization.c existant pour améliorer la présentation des résultats.
Ouvrez le fichier :
cd ~/project
nano prime_factorization.c
Mettez à jour le code avec une fonction de décomposition améliorée :
#include <stdio.h>
void factorize(int number) {
int original_number = number;
int factor_count = 0;
printf("Prime Factorization of %d:\n", original_number);
printf("---------------------\n");
// Start with the smallest prime number
for (int divisor = 2; divisor <= number; divisor++) {
int current_factor_count = 0;
while (number % divisor == 0) {
number /= divisor;
current_factor_count++;
factor_count++;
}
// Print factors with their exponents
if (current_factor_count > 0) {
printf("%d^%d ", divisor, current_factor_count);
}
}
printf("\n\nTotal number of prime factors: %d\n", factor_count);
}
int main() {
int number;
printf("Enter a positive integer to factorize: ");
scanf("%d", &number);
// Check for valid input
if (number <= 1) {
printf("Please enter a number greater than 1.\n");
return 1;
}
factorize(number);
return 0;
}
Principales améliorations de cette version :
- Ajout d'un formatage pour afficher les facteurs premiers
- Affiche l'exposant de chaque facteur premier
- Compte le nombre total de facteurs premiers
- Conserve le nombre d'entrée original pour l'affichage
Compilez et exécutez le programme :
gcc prime_factorization.c -o prime_factorization
./prime_factorization
Exemples de sorties :
Enter a positive integer to factorize: 24
Prime Factorization of 24:
---------------------
2^3 3^1
Total number of prime factors: 4
Enter a positive integer to factorize: 100
Prime Factorization of 100:
---------------------
2^2 5^2
Total number of prime factors: 4