C program to find prime factors of a number using for loop
C Programming Language / Loop control in C Language
243
Write a C program to input a number from user and find Prime factors of the given number using loop. C program to list all prime factors of a given number. Logic to find prime factors of a number in C programming.
If you don't know what is prime number please read for this tutorial. Prime Number & Prime Factors
Example
Input
Input any number: 10
Output
Prime factors of 10: 2, 5
What is Prime factor?
Factors of a number that are prime numbers are called as Prime factors of that number. For example: 2 and 5 are the prime factors of 10.
2 and 3 are the prime factors of 18.
Logic to check prime factors of a number
Step by step descriptive logic to find prime factors.
- Input a number from user. Store it in some variable say num.
- Run a loop from 2 to
num/2
, increment 1 in each iteration. The loop structure should look likefor(i=2; i<=num/2; i++)
.You may think why loop from 2 to
num/2
? Because prime number starts from 2 and any factor of a number n is always less thann/2
. - Inside the loop, first check if i is a factor of num or not. If it is a factor then check it is prime or not.
Print the value of i if it is prime and a factor of num.
Program:
/** * C program to find all prime factors of a given number */ #include int main() { int i, j, num, isPrime; /* Input a number from user */ printf("Enter any number to print Prime factors: "); scanf("%d", &num); printf("All Prime Factors of %d are: \n", num); /* Find all Prime factors */ for(i=2; i<=num; i++) { /* Check 'i' for factor of num */ if(num%i==0) { /* Check 'i' for Prime */ isPrime = 1; for(j=2; j<=i/2; j++) { if(i%j==0) { isPrime = 0; break; } } /* If 'i' is Prime number and factor of num */ if(isPrime==1) { printf("%d, ", i); } } } return 0; }
Output:
Enter any number to print Prime factors: 15 All Prime Factors of 15 are: 3, 5,
Explanation:
This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.