संख्या प्रणाली में, दो संख्याओं का सबसे बड़ा सामान्य भाजक (GCD) वह सबसे बड़ी संख्या है जो दोनों संख्याओं को विभाजित करती है। इसी तरह, अगर हम इस अवधारणा को स्ट्रिंग्स पर लागू करते हैं, तो दो स्ट्रिंग्स का gcd सबसे बड़ा सबस्ट्रिंग (लंबाई में सबसे बड़ा) होता है जो दोनों स्ट्रिंग्स में मौजूद होता है।
उदाहरण के लिए -
यदि दो तार हैं -
const str1 = 'abcabc'; const str2 = 'abc';
तब इन स्ट्रिंग्स की gcd होगी -
const gcd = 'abc';
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो स्ट्रिंग्स str1 और str2 लेता है और उनकी gcd की गणना और रिटर्न करता है।
उदाहरण
इसके लिए कोड होगा -
const str1 = 'abcabc'; const str2 = 'abc'; const findGCD = (str1 = '', str2 = '') => { if (str1 + str2 !== str2 + str1){ // not possible // no common element return ""; } else if (str1 == str2){ return str1; } else if (str1.length > str2.length){ return findGCD(str1.slice(str2.length), str2); } else { return findGCD(str2.slice(str1.length), str1); } }; console.log(findGCD(str1, str2));
आउटपुट
और कंसोल में आउटपुट होगा -
abc