Direct Recrusion
Direct Recrusion
Recrusion
Direct
Recrusion
#include<stdio.h>
0; if ( i == 0)
return 0;
if ( i == 1)
return 1;
int main ()
int i;
{
printf (" %d \t ", fibo_num (i));
return 0;
OUTPUT:
Indriect Recrusion
// C program to show Indirect Recursion
#include <stdio.h>
void funA(int n)
if (n > 0) {
printf("%d ",
n);
funB(n - 1);
}
void funB(int n)
if (n > 1) {
printf("%d ",
n);
funA(n / 2);
int main()
funA(20);
return 0;
OUTPUT:
Program 9
Factorial of a Number
Recrusivel
y
#include<stdio.h>
long factorial(int n)
if (n ==
0) return
1; else
return(n * factorial(n-1));
void main()
int number;
long fact;
printf("Enter a number:
"); scanf("%d",
&number); fact =
factorial(number);
fact); return 0;
}
OUTPUT:
Iteratively
#include<stdio.h>
int main()
int i,fact=1,number;
scanf("%d",&number);
for(i=1;i<=number;i++){
fact=fact*i;
printf("Factorial of %d is:
%d",number,fact); return 0;
OUTPUT:
PROGRAM 10
FIBONACCI SERIES
Recrusively
#include <stdio.h>
check if (num == 0)
else if (num == 1)
// else calling the fibonacci() function recursively till we get to the base
conditions else
}
}
int main()
int num; // variable to store how many elements to be displayed in the series
printf("%d, ", fibonacci(i)); // calling fibonacci() function for each iteration and printing the
returned value
return 0;
OUTPUT:
Iteratively
#include<stdio.h>
int main()
{
int n1=0,n2=1,n3,i,number;
scanf("%d",&number);
n3=n1+n2;
printf(" %d",n3);
n1=n2;
n2=n3;
return 0;
OUTPUT:
Program
11
Tail
Recrusion
#include <stdio.h>
// function definition
if (num == 0)
return;
else
return fun1 (num - 1); // recursive call at the end in the fun() function
int main ()
int n;
"); scanf("%d",&n);
argument return 0;
}
OUTPUT: