# C program to find prime factors of a number

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.

Example

Input

`Input any number: 10`

Output

`Prime factors of 10: 2, 5`

## Required knowledge

### 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.

1. Input a number from user. Store it in some variable say num.
2. 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`.

3. 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,```

Happy coding 😉 