एक ऐरे दिया गया है जो अंकों के ऐरे के रूप में दर्शाई गई गैर-ऋणात्मक संख्या का संग्रह है, संख्या में 1 जोड़ें (अंकों द्वारा दर्शाई गई संख्या को बढ़ाएं)। अंक इस तरह संग्रहीत हैं कि सबसे महत्वपूर्ण अंक ऐरे का पहला एलिमेंट है।
अंकों द्वारा दर्शाई गई संख्या में 1 जोड़ने के लिए
ऐरे के अंत से दें, जोड़ का अर्थ है अंतिम नंबर 4 को 5 तक राउंड करना।
यदि अंतिम एलिमेंट 9 है, तो इसे 0 बनाएं और कैरी = 1।
अगली पुनरावृत्ति के लिए कैरी की जांच करें और यदि यह 10 में जोड़ता है, तो चरण 2 जैसा ही करें।
कैरी जोड़ने के बाद, अगली पुनरावृत्ति के लिए कैरी = 0 करें।
यदि वेक्टर जोड़ते हैं और वेक्टर आकार बढ़ाते हैं, तो शुरुआत में 1 जोड़ें।
मान लीजिए एक ऐरे में एलिमेंट्स [7, 6, 3, 4] हैं तो ऐरे दशमलव संख्या 1234 को दर्शाता है और इसलिए इसमें 1 जोड़ने का परिणाम 7635 होगा। तो नया ऐरे [7, 6, 3, 5] होगा।
उदाहरण
Input: [7, 6, 9, 9] Output: [7, 7, 0, 0] Input: [4, 1, 7, 8, 9] Output: [4, 1, 7, 9, 0]
व्याख्या ऐरे के अंतिम एलिमेंट में 1 जोड़ें, यदि यह 9 से कम है। यदि एलिमेंट 9 है, तो इसे 0 बनाएं और ऐरे के शेष एलिमेंट के लिए पुनरावृत्ति करें।
उदाहरण
#include <iostream>
using namespace std;
void sum(int arr[], int n) {
int i = n;
if(arr[i] < 9) {
arr[i] = arr[i] + 1;
return;
}
arr[i] = 0;
i--;
sum(arr, i);
if(arr[0] > 0) {
cout << arr[0] << ", ";
}
for(int i = 1; i <= n; i++) {
cout << arr[i];
if(i < n) {
cout << ", ";
}
}
}
int main() {
int n = 4;
int arr[] = {4, 1, 7, 8, 9};
sum(arr, n);
return 0;
}