#include void print_prime_facs(int); void print_prime_facs(int num){ int is_prime = 1; int prime_factors[100], prime_factors_size = 0; int primes[10000] = {2, 3}, primes_size = 2; int primes_pos, temp; for(int i = 4; i <10000; i++){ is_prime = 1; for(int k = 0; k < primes_size; k++){ if(i % primes[k] == 0) is_prime = 0; } if(is_prime == 1){ primes[primes_size] = i; ++primes_size; } } while(num != 0){ primes_pos = 0; temp = num; while(temp >= primes[primes_pos]){ while(temp % primes[primes_pos] == 0){ temp /= primes[primes_pos]; prime_factors[prime_factors_size] = primes[primes_pos]; ++prime_factors_size; } ++primes_pos; } if(prime_factors_size == 1){ printf("\n%d is a prime number and cannot be factored.\n", num); return; }else{ printf("\nThe prime factors of %d are ", num); for(int i = 0; i < prime_factors_size; i++) printf("%d ", prime_factors[i]); printf(".\n\n"); return; } } return; }