0% found this document useful (0 votes)
18 views10 pages

Direct Recrusion

CVBN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views10 pages

Direct Recrusion

CVBN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Program 8

Recrusion
Direct
Recrusion

#include<stdio.h>

int fibo_num (int i)

// if the num i is equal to 0, return

0; if ( i == 0)

return 0;

if ( i == 1)

return 1;

return fibo_num (i - 1) + fibonacci (i -2);

int main ()

int i;

// use for loop to get the first 10 fibonacci series

for ( i = 0; i < 10; i++)

{
printf (" %d \t ", fibo_num (i));

return 0;

OUTPUT:

Indriect Recrusion
// C program to show Indirect Recursion

#include <stdio.h>

void funB(int n);

void funA(int n)

if (n > 0) {

printf("%d ",

n);

// Fun(A) is calling fun(B)

funB(n - 1);

}
void funB(int n)

if (n > 1) {

printf("%d ",

n);

// Fun(B) is calling fun(A)

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);

printf("Factorial of %d is %ld\n", number,

fact); return 0;

}
OUTPUT:

Iteratively
#include<stdio.h>

int main()

int i,fact=1,number;

printf("Enter a 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>

// fibonacci() funtion definition

int fibonacci(int num)

// first base condition

check if (num == 0)

return 0; // retuning 0, if condition meets

// second base condition check

else if (num == 1)

return 1; // returning 1, if condition meets

// else calling the fibonacci() function recursively till we get to the base

conditions else

return fibonacci(num - 1) + fibonacci(num - 2); // recursively calling the fibonacc() function


and then adding them

}
}

int main()

int num; // variable to store how many elements to be displayed in the series

printf("Enter the number of elements to be in the series : ");

scanf("%d", &num); // taking user input

for (int i = 0; i < num; i++)

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;

printf("Enter the number of elements:");

scanf("%d",&number);

printf("\n%d %d",n1,n2);//printing 0 and 1

for(i=2;i<number;++i)//loop starts from 2 because 0 and 1 are already printed

n3=n1+n2;

printf(" %d",n3);

n1=n2;

n2=n3;

return 0;

OUTPUT:
Program

11

Tail

Recrusion

#include <stdio.h>

// function definition

void fun1( int num)

// if block check the condition

if (num == 0)

return;

else

printf ("\n Number is: %d", num); // print the number

return fun1 (num - 1); // recursive call at the end in the fun() function

int main ()

int n;

printf("Enter the Number:

"); scanf("%d",&n);

fun1(n); // pass 7 as integer

argument return 0;

}
OUTPUT:

You might also like