#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int primeFactors (int input);
int main (void) {
int input;
while ( 1 ) {
//inputNumber (&input);
primeFactors (100);
break;
}
return 0;
}
int primeFactors (int input){
int cnt = 0, i = 3, cnt_sum;
if(input > 1){
while ( input % 2 == 0){
input/=2;
cnt++;
}
if(cnt == 1){
else if( cnt > 0 && cnt != 1){
}
cnt_sum += cnt;
for ( ; i
<= sqrt(input
); i
= i
+2){ cnt = 0;
while(input % i == 0){
cnt++;
input /= i;
}
if(cnt == 1){
}
else if( cnt > 0 && cnt != 1){
}
cnt_sum += cnt;
}
if(cnt_sum > 1){
printf("\nIt is a composite number !\n"); }
else{
printf("%d\nIt is a prime number !\n",input
); }
}
else{
printf("\nIt is an invalid number !\n"); }
}
CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgppbnQgcHJpbWVGYWN0b3JzIChpbnQgaW5wdXQpOwoKaW50IG1haW4gKHZvaWQpIHsKCmludCBpbnB1dDsKCndoaWxlICggMSApIHsKICAgIC8vaW5wdXROdW1iZXIgKCZpbnB1dCk7CiAgICBwcmltZUZhY3RvcnMgKDEwMCk7CiAgICBicmVhazsKfQpyZXR1cm4gMDsKfQoKCmludCBwcmltZUZhY3RvcnMgKGludCBpbnB1dCl7CiAgICBpbnQgY250ID0gMCwgaSA9IDMsIGNudF9zdW07CgogICAgcHJpbnRmKCIlZCA9ICIsIGlucHV0KTsKCiAgICBpZihpbnB1dCA+IDEpewogICAgICAgIHdoaWxlICggaW5wdXQgJSAyID09IDApewogICAgICAgIAlpbnB1dC89MjsKICAgICAgICAJY250Kys7CiAgICAgICAgfQogICAgICAgIGlmKGNudCA9PSAxKXsKICAgICAgICAgICAgcHJpbnRmKCIlZCIsMik7fQogICAgICAgIGVsc2UgaWYoIGNudCA+IDAgJiYgY250ICE9IDEpewogICAgICAgICAgICBwcmludGYoIiVkXiVkIiwyLGNudCk7CiAgICAgICAgfQogICAgICAgIGNudF9zdW0gKz0gY250OwogICAgICAgIGZvciAoIDsgaSA8PSBzcXJ0KGlucHV0KTsgaSA9IGkrMil7CiAgICAgICAgICAgIGNudCA9IDA7CiAgICAgICAgICAgIHdoaWxlKGlucHV0ICUgaSA9PSAwKXsKICAgICAgICAgICAgICAgIGNudCsrOwogICAgICAgICAgICAgICAgaW5wdXQgLz0gaTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZihjbnQgPT0gMSl7CiAgICAgICAgICAgICAgICBwcmludGYoIiVkIixpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKCBjbnQgPiAwICYmIGNudCAhPSAxKXsKICAgICAgICAgICAgICAgIHByaW50ZigiJWReJWQiLGksY250KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjbnRfc3VtICs9IGNudDsKICAgICAgICB9CiAgICAgICAgaWYoY250X3N1bSA+IDEpewogICAgICAgICAgICBwcmludGYoIlxuSXQgaXMgYSBjb21wb3NpdGUgbnVtYmVyICFcbiIpOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBwcmludGYoIiVkXG5JdCBpcyBhIHByaW1lIG51bWJlciAhXG4iLGlucHV0KTsKICAgICAgICB9CiAgICB9CiAgICBlbHNlewogICAgICAgIHByaW50ZigiXG5JdCBpcyBhbiBpbnZhbGlkIG51bWJlciAhXG4iKTsKICAgIH0KfQ==