यहाँ हम देखेंगे कि कैसे हम दो से अधिक संख्याओं की gcd प्राप्त कर सकते हैं। दो संख्याओं का gcd खोजना आसान है। जब हम दो से अधिक संख्याओं का gcd ज्ञात करना चाहते हैं, तो हमें gcd के साहचर्यता नियम का पालन करना होगा। उदाहरण के लिए, यदि हम {w, x, y, z} का gcd खोजना चाहते हैं, तो यह {gcd(w,x), y, z} होगा, फिर {gcd(gcd(w,x), y) , z}, और अंत में {gcd(gcd(gcd(w,x), y), z)}। सरणी का उपयोग करके इसे बहुत आसानी से किया जा सकता है।
एल्गोरिदम
gcd(a, b)
begin if a is 0, then return b end if return gcd(b mod a, a) end
getArrayGcd(arr, n)
begin res := arr[0] for i in range 1 to n-1, do res := gcd(arr[i], res) done return res; end
उदाहरण
#include<iostream> using namespace std; int gcd(int a, int b) { if (a == 0) return b; return gcd(b%a, a); } int getArrayGcd(int arr[], int n) { int res = arr[0]; for(int i = 1; i < n; i++) { res = gcd(arr[i], res); } return res; } main() { int arr[] = {4, 8, 16, 24}; int n = sizeof(arr)/sizeof(arr[0]); cout << "GCD of array elements: " << getArrayGcd(arr, n); }
आउटपुट
GCD of array elements: 4