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

n^x में अंकों का पुनरावर्ती योग, जहां n और x C++ में बहुत बड़े हैं

हमें 'num' और 'x' के रूप में धनात्मक पूर्णांक चर दिए गए हैं। कार्य संख्या ^ x की पुनरावर्ती गणना करना है, फिर परिणामी संख्या के अंकों को तब तक जोड़ना है जब तक कि एकल अंक प्राप्त न हो जाए और परिणामी एकल अंक आउटपुट होगा।

आइए इसके लिए विभिन्न इनपुट आउटपुट परिदृश्य देखें -

इनपुट - इंट नंबर =2345, इंट एक्स =3

आउटपुट - n^x में अंकों का पुनरावर्ती योग, जहां n और x बहुत बड़े हैं:8

स्पष्टीकरण - हमें सकारात्मक पूर्णांक मान संख्या के रूप में दिए गए हैं और x के मान 2345 और घात 3 के रूप में दिए गए हैं। सबसे पहले, 2345 ^ 3 यानी 12,895,213,625 की गणना करें। अब, हम इन अंकों को जोड़ देंगे यानी 1 + 2 + 8 + 9 + 5 + 2 + 1 + 3 + 6 + 2 + 5 यानी 44। अब हम 4 + 4 यानी 8 जोड़ देंगे। चूंकि हमने एक अंक हासिल किया है इसलिए , आउटपुट 8 है।

इनपुट - इंट नंबर =3, इंट x =3

आउटपुट - n^x में अंकों का पुनरावर्ती योग, जहां n और x बहुत बड़े हैं:9

स्पष्टीकरण - हमें संख्या के रूप में सकारात्मक पूर्णांक मान दिए गए हैं और x के रूप में 3 और 3 के रूप में शक्ति है। सबसे पहले, 3 ^ 3 यानी 9 की गणना करें। चूंकि हमने एकल अंक हासिल किया है, इसलिए आउटपुट 9 है और आगे की गणना की आवश्यकता नहीं है।

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

  • एक पूर्णांक चर को num और x के रूप में इनपुट करें और डेटा को आगे की प्रक्रिया के लिए Recursive_Digit(num, x) फ़ंक्शन में पास करें।

  • समारोह के अंदर Recursive_Digit(num, x)

    • वेरिएबल 'टोटल' को लंबे समय तक घोषित करें और इसे फंक्शन Total_digits(num) पर कॉल करने के लिए सेट करें जो एक तर्क के रूप में पारित संख्या का अंक योग लौटाएगा।

    • वेरिएबल को लंबे प्रकार के टेम्परेचर के रूप में घोषित करें और इसे पावर % 6 के साथ सेट करें

    • IF कुल =3 या कुल =6 और शक्ति> 1 की जाँच करें और फिर 9 लौटाएँ।

    • ELSE IF, पावर =1 फिर कुल रिटर्न करें।

    • ELSE IF, power =0 फिर 1 लौटाएं।

    • ELSE IF, temp - 0 फिर Total_digits ((long) pow(total, 6))

      पर कॉल वापस करें
    • ELSE, कुल_डिजिट ((लंबी) पाउ (कुल, अस्थायी) लौटाएं)।

  • फंक्शन के अंदर long Total_digits(long num)

    • IF num =0 चेक करें, फिर 0 वापस करें। IF चेक करें, num% 9 =0 फिर रिटर्न 9।

    • वरना, वापसी संख्या% 9

उदाहरण

#include <bits/stdc++.h>
using namespace std;
long total_digits(long num){
   if(num == 0){
      return 0;
   }
   if(num % 9 == 0){
      return 9;
   }
   else{
      return num % 9;
   }
}
long Recursive_Digit(long num, long power){
   long total = total_digits(num);
   long temp = power % 6;
   if((total == 3 || total == 6) & power > 1){
      return 9;
   }
   else if (power == 1){
      return total;
   }
   else if (power == 0){
      return 1;
   }
   else if (temp == 0){
      return total_digits((long)pow(total, 6));
   }
   else{
      return total_digits((long)pow(total, temp));
   }
}
int main(){
   int num = 2345;
   int x = 98754;
   cout<<"Recursive sum of digit in n^x, where n and x are very large are: "<<Recursive_Digit(num, x);
   return 0;
}

आउटपुट

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

Recursive sum of digit in n^x, where n and x are very large are: 1

  1. k संख्याएँ ज्ञात कीजिए जो 2 की घात हैं और C++ में योग N है

    मान लीजिए कि हमारे पास दो नंबर N और K हैं। काम K नंबरों को प्रिंट करना है, जो 2 की घात है और उनका योग N है। यदि यह संभव नहीं है, तो -1 को वापस करें। . मान लीजिए एन =9 और के =4, तो आउटपुट 4 2 2 1 होगा, जिसका योग 9 है, और तत्वों की संख्या 4 है, और उनमें से प्रत्येक 2 की शक्ति है। इस समस्या को हल करने

  1. ऐसी दो संख्याएँ ज्ञात कीजिए जिनका योग और GCD C++ में दिया गया है

    हमारे पास दो संख्याओं a और b का योग और gcd है। हमें a और b दोनों संख्याएँ ज्ञात करनी हैं। यदि यह संभव नहीं है, तो वापसी -1। मान लीजिए कि योग 6 है और gcd 2 है, तो संख्याएँ 4 और 2 हैं। दृष्टिकोण ऐसा है, जैसा कि GCD दिया जाता है, तो ज्ञात होता है कि संख्याएँ इसके गुणज होंगी। अब निम्नलिखित चरण हैं य

  1. C++ में कॉपी एलिजन और रिटर्न वैल्यू ऑप्टिमाइजेशन क्या हैं?

    कॉपी एलीशन को कॉपी ओमिशन के नाम से भी जाना जाता है। यह कंपाइलर ऑप्टिमाइजेशन तकनीक में से एक है। यह वस्तुओं की अनावश्यक नकल से बचा जाता है। लगभग कोई भी मौजूदा कंपाइलर इस CopyElision तकनीक का उपयोग करता है। आइए देखें कि यह एक उदाहरण कोड की मदद से कैसे काम करता है। उदाहरण कोड #include <iostream>