Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में n पूर्णांकों के GCD के लिए सूत्र मुद्रित करने के लिए पुनरावर्ती प्रोग्राम

हमें इनपुट के रूप में एक पूर्णांक दिया जाता है। लक्ष्य पुनरावर्तन का उपयोग करके n संख्याओं के GCD के सूत्र को मुद्रित करना है।

हम जानते हैं कि तीन संख्याओं का GCD मान लीजिए a1,b1 और c1 gcd(a1,gcd(b1,c1)) होगा। इसी तरह तीन से अधिक संख्याओं के लिए, gcd को gcd के रूप में सूत्र द्वारा प्राप्त किया जा सकता है ( a1,gcd(b1, gcd(c1…..,gcd(y1,z1)).

उदाहरण

इनपुट - संख्या =4;

आउटपुट - सूत्र है:

GCD(int a3, GCD(int a2, GCD(int a1, int b1)))

इनपुट - संख्या =6;

आउटपुट - सूत्र है:GCD(int a5, GCD(int a4, GCD(int a3, GCD(int a2, GCD(int a1, int b1)))))

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

इस दृष्टिकोण में हम रिकर्सिव फ़ंक्शन gcdFormula(int num1) का उपयोग कर रहे हैं जो इनपुट के रूप में संख्याओं की गणना करता है और num1 संख्याओं के लिए gcd के सूत्र से युक्त स्ट्रिंग देता है।

आधार मामलों के लिए-:यदि num1 1 रिटर्न स्ट्रिंग "int b"+to_string(num1)+"" है।

Else-:gcdFormula(num1-1) और पिछली स्ट्रिंग को जोड़ने के लिए फिर से रिकर्स करें।

  • इनपुट नंबर संख्या लें।

  • फ़ंक्शन gcdFormula(int num1) जो इनपुट के रूप में संख्याओं की गणना करता है और num1 संख्याओं के लिए gcd के सूत्र से युक्त स्ट्रिंग लौटाता है

  • अगर num1 1 है तो स्ट्रिंग "int b"+to_string(num1)+"" लौटाएं।

  • और प्रिंट करें "GCD(int a"<

  • वापसी के रूप में रिकर्सन चरण के बाद (gcdFormula(num1 - 1)+")")

  • अंत में पूरी स्ट्रिंग वापस कर दी जाएगी।

  • मुख्य के अंदर प्राप्त प्रिंट परिणाम।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
string gcdFormula(int num1){
   if (num1 == 1){
      return ("int b"+to_string(num1)+"");
   }
   else{
      cout<<"GCD(int a"<<num1-1<<", ";
      return (gcdFormula(num1 - 1)+")");
   }
}
int main(){
   int Num = 6;
   cout<<"Formula is :"<<endl;
   cout<<gcdFormula(Num);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा

Formula is :
GCD(int a6, GCD(int a5, GCD(int a4, GCD(int a3, GCD(int a2, GCD(int a1, int b1))))))

  1. सी ++ प्रोग्राम में एक पेड़ में पूर्वजों-वंशज संबंधों के लिए प्रश्न

    इस समस्या में, हमें एक एन वर्टेक्स ट्री और क्यू प्रश्न दिए गए हैं जिनमें से प्रत्येक में दो मान i और j शामिल हैं। हमारा काम एक पेड़ में पूर्वजों-वंशज संबंधों के लिए एक प्रश्न को हल करने के लिए एक प्रोग्राम बनाना है। प्रत्येक प्रश्न को हल करने के लिए, हमें यह जांचना होगा कि क्या नोड i पेड़ में नोड j

  1. सरणी तत्वों के गुणन के लिए C++ प्रोग्राम

    पूर्णांक तत्वों की एक सरणी के साथ दिया गया और कार्य एक सरणी के तत्वों को गुणा करना और इसे प्रदर्शित करना है। उदाहरण Input-: arr[]={1,2,3,4,5,6,7} Output-: 1 x 2 x 3 x 4 x 5 x 6 x 7 = 5040 Input-: arr[]={3, 4,6, 2, 7, 8, 4} Output-: 3 x 4 x 6 x 2 x 7 x 8 x 4 = 32256 नीचे दिए गए कार्यक्रम में उपयोग क

  1. C++ में ऑक्टल से दशमलव रूपांतरण के लिए कार्यक्रम

    एक इनपुट के रूप में एक ऑक्टल नंबर के साथ दिए गए, कार्य दिए गए ऑक्टल नंबर को एक दशमलव संख्या में बदलना है। कंप्यूटर में दशमलव संख्या को आधार 10 से दर्शाया जाता है और अष्टक संख्या को आधार 8 से 0 से शुरू होकर 7 तक दर्शाया जाता है जबकि दशमलव संख्या 0 – 9 से शुरू होने वाला कोई भी अंक हो सकता है। अष्टक