GCD of more than two (or array) numbers

QUESTION

Given an array of numbers, find GCD of the array elements.

“TESTCASE_1”: “5\n1 4 6 9 12\n###—###SEPERATOR—###—\n1”, “TESTCASE_2”: “6\n2 4 64 86 4 8\n###—###SEPERATOR—###—\n2”, “TESTCASE_3”: “10\n56 45 78 32 5 4 9 8 10 23\n###—###SEPERATOR—###—\n1”, “TESTCASE_4”: “6\n45 55 65 70 85 95\n###—###SEPERATOR—###—\n5”, “TESTCASE_5”: “0\n###—###SEPERATOR—###—\n0

ANSWER

#include <iostream>
using namespace std;
 
// Function to return gcd of a and b
int gcd(int a, int b)
{
    if (a == 0)
        return b;
    return gcd(b%a, a);
}
 
// Function to find gcd of array of
// numbers
int findGCD(int arr[], int n)
{
    int result = arr[0];
    for (int i=1; i<n; i++)
        result = gcd(arr[i], result);
 
    return result;
}
 

int main()
{
    int n,arr[20];
    cin>>n;
    int i;
    for(i=0;i<n;i++)
      cin>>arr[i];
    cout << findGCD(arr, n) << endl;
    return 0;
}
Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
CHP Adblock Detector Plugin | Codehelppro