इनपुट के रूप में दो पूर्णांक 'संख्या' और 'दोहराना' दिया गया है। लक्ष्य इनपुट संख्या के अंकों के योग की गणना करना है जब तक कि योग एक अंक न हो जाए। ऐसा तब तक करें जब तक अंकों के योग वाली प्राप्त संख्या एक अंक की संख्या न बन जाए। यदि इनपुट संख्या 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