Q:

Write a C Program to print prime factors using Recursion and Iteration

0

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.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

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

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C Recursion Solved Programs – C Programming

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
Write a C Program to check number is divisible by ... >>
<< Write a C Program to raise float to power integer ...