Showing posts with label Recursion. Show all posts
Showing posts with label Recursion. Show all posts

Wednesday, 6 September 2017

GCD of a number using Recursion



 #include<stdio.h>

int GetGCD(int temp1,int temp2);

int main()
{
int num1,num2,gcd,lcm,x;
printf("Enter number 1 and number 2\n");
scanf("%d%d",&num1,&num2);
gcd=GetGCD(num1,num2);
lcm=(num1*num2)/gcd;
printf("gcd is %d\n",gcd);
printf("Lcm is %d\n",lcm);
return 0;
}

int GetGCD(int temp1,int temp2)
{
        if(temp2!=0)
       {
         GetGCD(temp2,temp1%temp2);
       }
       else
      {
      return(temp1);
     }
}

Find minimum number in given Array using Recursion



#include<stdio.h>

int GetMinimunNumber(int a[],int size,int min);

int main()
{
    int i,size,min;
    printf("Enter size to find smallest of given numbers\n");
    scanf("%d",&size);
    int a[size];
    printf("Enter numbers in array\n");
    for(i=0;i<size;i++)
    {
        scanf("%d",&a[i]);
    }
    min=GetMinimunNumber(a,size-1,a[0]);
    printf("The smallest number is %d\n",min);
return 0;

int GetMinimunNumber(int a[],int size,int min)
{
 if(size>=0)
 {
  if(a[size]<min)
  {
   min=a[size];
  }
  size--;
  GetMinimunNumber(a,size,min);
 }
 else
 {
  return(min);
 }
}

Print Sum of Even Numbers in Array using Recursion



#include<stdio.h>

void SumOfEven(int a[],int num,int sum);

int main()
{
    int i,a[100],num,sum=0;
    printf("Enter number of Array Elements\n");
   scanf("%d",&num);
   printf("Enter Array Elements\n");
   for(i=0;i<num;i++)
   {
    scanf("%d",&a[i]);
    }
   SumOfEven(a,num-1,sum); 
return 0;
}

void SumOfEven(int a[],int num,int sum)
{

 if(num>=0)
 {
  if((a[num])%2==0)
  {
   sum+=(a[num]);
  }
  SumOfEven(a,num-1,sum);
 }
 else
 {
    printf("Sum=%d\n",sum);
  return;
 }
}