By | 23.03.2017

# C Program to print prime factors

Write a C Program to print prime factors using Recursion and Iteration. Here’s simple Program to print prime factors using Recursion and Iteration in C Programming Language.

## Recursion : :

• Recursion is the process of repeating items in a self-similar way. In programming languages, if a program allows you to call a function inside the same function, then it is called a recursive call of the function.
• The C programming language supports recursion, i.e., a function to call itself. But while using recursion, programmers need to be careful to define an exit condition from the function, otherwise it will go into an infinite loop.
• Recursive functions are very useful to solve many mathematical problems, such as calculating the factorial of a number, generating Fibonacci series, etc.

## Iteration : :

• Iteration, in the context of computer programming, is a process wherein a set of instructions or structures are repeated in a sequence a specified number of times or until a condition is met.
• When the first set of instructions is executed again, it is called an iteration. When a sequence of instructions is executed in a repeated manner, it is called a loop.

Example : :

for (int i=0;i<n;i++)
{
\\ statements;
}

Below is the source code for C Program to print prime factors using Recursion and Iteration which is successfully compiled and run on Windows System to produce desired output as shown below :

### SOURCE CODE : :

```/* C Program to print prime factors*/

#include<stdio.h>
void PFactors( int num);
void IPFactors( int n);

int main( )
{
int num;
printf("Enter a number : ");
scanf("%d", &num);
printf("\nUsing Recursion :: \n");
PFactors(num);
printf("\n");
printf("\nUsing Iteration :: \n");
IPFactors(num);
printf("\n");

return 0;

}/*End of main()*/

/*Recursive*/

void PFactors( int num)
{
int i = 2;
if( num == 1 )
return;
while( num%i != 0 )
i++;
printf("%d ", i);
PFactors(num/i);
}/*End of PFactors()*/

/*Iterative*/
void IPFactors( int num)
{
int i;
for( i = 2; num!=1; i++)
while( num%i == 0 )
{
printf("%d ", i);
num = num/i;
}
}/*End of IPFactors()*/```

### OUTPUT  : :

```***************OUTPUT***************

***************FIRST RUN************

Enter a number : 100

Using Recursion ::
2 2 5 5

Using Iteration ::
2 2 5 5

***************SECOND RUN***********

Enter a number : 3000

Using Recursion ::
2 2 2 3 5 5 5

Using Iteration ::
2 2 2 3 5 5 5```

If you found any error or any queries related to the above program or any questions or reviews , you wanna to ask from us ,you may Contact Us through our contact Page or you can also comment below in the comment section.We will try our best to reach upto you in the short interval.

Article Rating
Category: C Programming Recursion Programs Tags:  