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

C++ . में बार-बार संलग्न होने से बनी किसी संख्या के अंकों का पुनरावर्ती योग

इनपुट के रूप में दो पूर्णांक 'संख्या' और 'दोहराना' दिया गया है। लक्ष्य इनपुट संख्या के अंकों के योग की गणना करना है जब तक कि योग एक अंक न हो जाए। ऐसा तब तक करें जब तक अंकों के योग वाली प्राप्त संख्या एक अंक की संख्या न बन जाए। यदि इनपुट संख्या 123 है और 123123 के अंकों के योग की तुलना में दोहराना =2 होगा, तो 1+2+3+1+2+3=12 होगा जो एक अंक की संख्या नहीं है। अब 12 के अंकों का योग 1+2=3 है। आउटपुट 3

. होगा

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

इनपुट -नंबर=32 रिपीट=3

आउटपुट - दोहराए गए परिशिष्टों द्वारा बनाई गई संख्या के अंकों का पुनरावर्ती योग है:6

स्पष्टीकरण - 323232 के अंकों का योग 3+2+3+2+3+2=15 है और 15 के अंकों का योग 1+5=6 है। 6 एक अंक की संख्या है इसलिए आउटपुट 6 होगा।

इनपुट − नंबर=81 रिपीट=4

आउटपुट - दोहराए गए परिशिष्टों द्वारा बनाई गई संख्या के अंकों का पुनरावर्ती योग है:9

स्पष्टीकरण - 81818181 के अंकों का योग 1+8+1+8+1+8+1+8=36 है और 36 के अंकों का योग 3+6=9 है। 9 एक अंक की संख्या है इसलिए आउटपुट 9 होगा।

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

  • दो पूर्णांक प्रकार चर को संख्या के रूप में घोषित करें और दोहराएं। फ़ंक्शन को डेटा को रिकर्सिव_सम (संख्या, दोहराना) के रूप में पास करें।

  • फ़ंक्शन के अंदर Recursive_Sum (इंट नंबर, इंट रिपीट) के रूप में

    • एक पूर्णांक चर को कुल घोषित करें और इसे एक दोहराव * योग (संख्या) के साथ सेट करें;

    • फ़ंक्शन को योग (कुल) के रूप में वापस कॉल करें।

  • फ़ंक्शन के अंदर योग के रूप में (इंट नंबर)

    • चेक करें कि IF नंबर 0 है तो वापस 0.

    • चेक करें कि IF नंबर% 9 0 है तो 9 लौटाएं।

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

  • परिणाम प्रिंट करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int sum(int number){
   if(number == 0){
      return 0;
   }
   if(number % 9 == 0){
      return 9;
   }
   else{
      return number % 9;
   }
}
int Recursive_Sum(int number, int repeat){
   int total = repeat * sum(number);
   return sum(total);
}
int main(){
   int number = 12;
   int repeat = 4;
   cout<<"Recursive sum of digits of a number formed by repeated appends is: "<<Recursive_Sum(number, repeat);
   return 0;
}

आउटपुट

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

Recursive sum of digits of a number formed by repeated appends is: 3

  1. जाँच करें कि क्या कोई संख्या जादू है (अंकों का पुनरावर्ती योग 1 है) C++ में

    यहां हम एक प्रोग्राम देखेंगे, जो यह जांच सकता है कि कोई नंबर मैजिक नंबर है या नहीं। एक संख्या को जादुई संख्या कहा जाता है, जब अंकों का पुनरावर्ती योग 1 होता है। मान लीजिए कि कोई संख्या 50311 =5 + 0 + 3 + 1 + 1 =10 =1 + 0 =1 जैसी है, यह जादुई संख्या है। यह जांचने के लिए कि कोई संख्या जादू है या नहीं

  1. सी ++ में विभाज्य अनुक्रम

    विभाज्य अनुक्रम संख्याओं का एक विशेष क्रम है। अनुक्रम संख्या से ही शुरू होता है और अनुक्रम की अगली संख्या पिछले पदों के उचित भाजक का योग है। आइए अवधारणा को बेहतर ढंग से सीखने के लिए अनुक्रम का एक उदाहरण लेते हैं - Input : 8 Output : 8 7 1 0 Explanation :    Proper divisors of 8 are 4, 2,

  1. सी ++ प्रोग्राम किसी दिए गए नंबर के अंकों का योग करने के लिए

    C++ भाषा में अंकों के योग की गणना करने के लिए यहां एक उदाहरण दिया गया है, उदाहरण #include<iostream> using namespace std; int main() {    int x, s = 0;    cout << "Enter the number : ";    cin >> x;    while (x != 0) {