C Program to Find GCD or HCF of Two Numbers using For Loop

  • Write a C program to find GCD (Greatest Common Divisor) of two numbers using for loop.
  • Wap in C to find HCF (Highest Common Factor) of two numbers.

Required Knowledge

The highest common factor (HCF) of two or more integers, is the largest positive integer that divides the numbers without a remainder. HCF is also known as greatest common divisor (GCD) or greatest common factor(GCF)

Algorithm to find GCD of two numbers
Let, A and B are two numbers.
  • Find minimum of A and B. Let A < B.
  • Find the largest number between 1 to A, which divides A and B both completely.

C program to find gcd of two numbers using for loop

#include <stdio.h>  

int getMinimum(int a, int b){
    if(a >= b)
        return b;
    else 
        return a;
}

int main() {  
    int a, b, min, counter, gcd = 1;  
    /* 
     * Take two numbers as input from user  
     */  
    printf("Enter two numbers\n");  
    scanf("%d %d", &a, &b);  
  
    min = getMinimum(a, b);
  
    for(counter = 1; counter <= min; counter++) {  
        /* 
         * Check, If counter divides both input number  
         */
        if(a%counter==0 && b%counter==0) {
            /* Update GCD to new larger value */ 
            gcd = counter;  
        }  
    }  
  
    printf("GCD of %d and %d = %d\n", a, b, gcd);
   
    return 0;  
}

Output
Enter two numbers
15 50
GCD of 15 and 50 = 5
Write a C program to find product of digits of a number using while loop.
Wap in C to multiply the digits of a number.

Required Knowledge

To multiply digits of a number we have to remove one digit at a time, we can use '/' division and '%' modulus operator. Number%10 will give the least significant digit of the number, we will use it to get one digit of number at a time. To remove last least significant digit from number we will divide number by 10.

Product of digits of 2534 = 2 x 5 x 3 x 4 = 120

Algorithm to find product of digits of a number
  • Get least significant digit of number (number%10) and multiply it to the product variable.
  • Remove least significant digit form number (number = number/10).
  • Repeat above two steps, till number is not equal to zero.

C program to find sum of all even numbers between 1 to N using for loop

#include <stdio.h>
#include <conio.h>  
  
int main() {  
    int num, temp;  
    long productOfDigit = 1;  
  
    /* 
     * Take a number as input from user
     */  
    printf("Enter a Number\n");  
    scanf("%d", &num);  
    temp = num;
    
    while(num != 0){
        /* get the least significant digit(last digit) 
         of number and multiply it to productofDigit */
        productOfDigit *= num % 10;
        /* remove least significant digit(last digit)
         form number */
        num = num/10;
    } 
  
    printf("Product of digits of %d = %ld", temp, productOfDigit);  
  
    getch();
    return 0;  
}

Output
Enter a Number
2436
Product of digits of 2436 = 144
Enter a Number
2222
Product of digits of 2436 = 16

Related Topics
C Program to find nPr and nCr
C program to calculate power of a number
C program to check armstrong number
C program to find all roots of quadratic equation
C program to generate random numbers
C program to count number of digits in an integer
C program to find perfect numbers between 1 to N using for loop
C program to print all prime factors of a number
C program to print digit of a number in words
List of all C programs