#include <stdio.h>
#include <stdlib.h>
int is_prime(int number){ // returns one if prime
if((number % 2 ) == 0 && number != 2){
return 0;
}
if(number == 2){
return 1; // two is a special case
}
int c = 2;
while (c != number){
if((number % c) == 0 && c != number){
return 0;
}
++c;
}
return 1;
}
int main(void){
int a = 0,
d = 0;
printf("Find all odd factors of: ");
scanf("%d", &a); if (a == 0) return 0;
printf("\n");
int b = 2;
while(b != a){
printf("%d / %d...", b, a);
if((a % b) == 0 && is_prime(b) && b > d){
d = b; printf(" prime factor found!");
}
printf("\n");
++b;
}
printf("Largest prime factor of %d: %d (by %d)\n",a, d, a / d);
return 0;
}