मान लीजिए हमारे पास N एलिमेंट्स वाली एक सरणी A है। हमें सरणी के सभी एलिमेंट्स के फैक्टोरियल का GCD निकालना है। मान लीजिए एलिमेंट्स {3, 4, 8, 6} हैं, तो फैक्टोरियल का GCD 6 होगा। यहां हम ट्रिक देखेंगे। चूंकि दो संख्याओं का GCD वह सबसे बड़ी संख्या है जो दोनों को विभाजित करती है, तो दो संख्याओं के फैक्टोरियल का GCD सबसे छोटी संख्या के फैक्टोरियल का मान ही होता है। इसलिए 3! और 5! का GCD 3! = 6 है।
उदाहरण
#include <iostream> using namespace std; long fact(int n){ if(n <= 1) return 1; return n * fact(n-1); } int gcd(int arr[], int n) { int min = arr[0]; for (int i = 1; i < n; i++) { if(min > arr[i]) min = arr[i]; } return fact(min); } int main() { int arr[] = {3, 4, 8, 6}; int n = sizeof(arr)/sizeof(arr[0]); cout << "GCD: "<< gcd(arr, n); } आउटपुट
GCD: 6