- 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
- C printf and scanf functions
- For loop in C
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
- C printf and scanf functions
- While loop in C
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