Loop Exercises
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.
Required knowledge
Basic C programming, If statement, For loop, Nested loop
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.
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 like for(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 than n/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 to find prime factors of a number
/** * C program to find all prime factors of a given number */ #include <stdio.h> 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,