C दो संख्याओं का GCD ज्ञात करने का कार्यक्रम

लूप और निर्णय लेने वाले बयानों का उपयोग करके दो पूर्णांकों (सकारात्मक और नकारात्मक पूर्णांक दोनों के लिए) की जीसीडी की गणना करने के विभिन्न तरीकों पर उदाहरण।

इस उदाहरण को समझने के लिए, आपको निम्नलिखित सी प्रोग्रामिंग विषयों का ज्ञान होना चाहिए:

  • सी प्रोग्रामिंग ऑपरेटर
  • लूप के लिए सी
  • C यदि … और कथन
  • सी जबकि और करते हैं … जबकि लूप

दो पूर्णांकों का HCF या GCD सबसे बड़ा पूर्णांक है जो दोनों संख्याओं को (शेष के बिना) पूर्णतः विभाजित कर सकता है।

C प्रोग्रामिंग में सबसे बड़ा सामान्य विभाजक खोजने के कई तरीके हैं।

उदाहरण # 1: GCD लूप के लिए उपयोग करना और यदि स्टेटमेंट

 #include int main() ( int n1, n2, i, gcd; printf("Enter two integers: "); scanf("%d %d", &n1, &n2); for(i=1; i <= n1 && i <= n2; ++i) ( // Checks if i is factor of both integers if(n1%i==0 && n2%i==0) gcd = i; ) printf("G.C.D of %d and %d is %d", n1, n2, gcd); return 0; ) 

इस कार्यक्रम में, उपयोगकर्ता द्वारा दर्ज किए गए दो पूर्णांक को चर n1 और n2 में संग्रहीत किया जाता है। फिर, forलूप को तब तक पुनरावृत्त किया जाता है जब तक कि मैं n1 और n2 से कम नहीं हो जाता।

प्रत्येक पुनरावृत्ति में, यदि n1 और n2 दोनों मेरे द्वारा बिल्कुल विभाज्य हैं, तो i का मान gcd को दिया गया है।

जब forलूप पूरा हो जाता है, तो दो नंबर का सबसे बड़ा सामान्य भाजक चर gcd में संग्रहीत किया जाता है।

उदाहरण # 2: लूप का उपयोग करते हुए GCD और यदि … और स्टेटमेंट

 #include int main() ( int n1, n2; printf("Enter two positive integers: "); scanf("%d %d",&n1,&n2); while(n1!=n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) printf("GCD = %d",n1); return 0; )

आउटपुट

 दो सकारात्मक पूर्णांक दर्ज करें: 81 153 GCD = 9

यह GCD खोजने का एक बेहतर तरीका है। इस विधि में, छोटे पूर्णांक को बड़े पूर्णांक से घटाया जाता है, और परिणाम बड़े पूर्णांक को धारण करने वाले चर को सौंपा जाता है। यह प्रक्रिया तब तक जारी रहती है जब तक n1 और n2 बराबर न हो जाएं।

उपर्युक्त दो कार्यक्रम केवल उसी उद्देश्य के लिए काम करते हैं जब उपयोगकर्ता सकारात्मक पूर्णांक में प्रवेश करता है। सकारात्मक और नकारात्मक दोनों पूर्णांकों के लिए GCD खोजने के लिए यहां दूसरे उदाहरण का थोड़ा संशोधन किया गया है।

उदाहरण # 3: सकारात्मक और नकारात्मक दोनों संख्याओं के लिए जीसीडी

 #include int main() ( int n1, n2; printf("Enter two integers: "); scanf("%d %d",&n1,&n2); // if user enters negative number, sign of the number is changed to positive n1 = ( n1> 0) ? n1 : -n1; n2 = ( n2> 0) ? n2 : -n2; while(n1!=n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) printf("GCD = %d",n1); return 0; )

आउटपुट

 दो पूर्णांक दर्ज करें: 81 -153 जीसीडी = 9

आप GCD को खोजने के लिए पुनरावर्तन का भी उपयोग कर सकते हैं।

दिलचस्प लेख...