C Program to find GCD (HCF) and LCM by 2 - 2 possible ways

 


// Program by Akash Tripathi (@proakash256)  
#include <stdio.h>
int LCM1(int a , int b)
{
    int l;
    for(int n = 1; ; n = n + 1)
    {
        if(n % a == 0 && n % b == 0)
        {
            l = n;
            return l;
        }
    }
}
int HCF1(int a , int b)
{
    int num , den , h = 0 , r;
    if(a > b)
    {
        num = a;
        den = b;
    }
    else
    {
        num = b;
        den = a;
    }
    while(den > 1)
    {
        r = num % den;
        if(r == 0)
        {
            h = den;
            break;
        }
        else
        {
            num = den;
            den = r;
        }
    }
    if(den == 1)
        h = 1;
    return h;
}
int HCF2(int a , int b)
{
    int x = a , y = b , h = 0;
    while(x != y)
    {
        if(x > y)
        {
            x = x - y;
            h = x;
        }
        else
        {
            y = y - x;
            h = y;
        }
    }
    return h;
}
int LCM2(int a , int b , int h)
{
    int l = (a * b) / h;
    return l;
}
int main()
{
    int a , b , c;
    printf("Enter two numbers of which you want
to find HCF and LCM :\n");
    scanf("%d" , &a);
    scanf("%d" , &b);
    printf("\n");
    printf("LCM and HCF by Multiplication and Division method :");
    printf("\n");
    c = LCM1(a , b);
    printf("The LCM of %d and %d is %d.\n" , a , b , c);
    c = HCF1(a , b);
    printf("The HCF of %d and %d is %d.\n" , a , b , c);
    printf("\n");
    printf("LCM and HCF by Subtraction method :");
    printf("\n");
    c = HCF2(a , b);
    printf("The HCF of %d and %d is %d.\n" , a , b , c);
    c = LCM2(a , b , c);
    printf("The LCM of %d and %d is %d.\n" , a , b , c);
    return 0;
}

Comments