एरे के रूप में दर्शाई गई संख्या संख्या के प्रत्येक अंक को एरे के एक तत्व में संग्रहीत करती है। एरे की लंबाई एरे में अंकों की संख्या के बराबर होती है यानी चार अंकों की संख्या के लिए लंबाई = 3। एरे का प्रत्येक तत्व एक अंक की संख्या है। संख्या इस तरह से संग्रहीत होती है कि अंतिम तत्व संख्या का सबसे कम महत्वपूर्ण अंक संग्रहीत करता है। और पहला तत्व संख्या का सबसे महत्वपूर्ण अंक संग्रहीत करता है। उदाहरण के लिए,
संख्या - 351932 को {3,5,1,9,3,2} के रूप में संग्रहीत किया जाता है
इस संख्या में एक जोड़ने के लिए आपको एरे के अंतिम तत्व में एक जोड़ना होगा और फिर जांचना होगा कि क्या किसी कैरी को प्रसारित करने की आवश्यकता है या नहीं। यदि अंतिम बिट पर संख्या 9 है तो एक कैरी प्रसारित होती है और अंतिम तत्व का मान 0 हो जाता है।
यदि कैरी प्रसारित होती है, तो (n-1) स्थिति पर तत्व एक से बढ़ जाता है और कैरी प्रसार की जांच की जाती है। उदाहरण के लिए
{3,5,7,9} में एक जोड़ने पर {3,5,8,0} मिलता है। यहां, एक कैरी प्रसारित होती है और सात का मान 8 हो जाता है।
उदाहरण
#include <bits/stdc++.h>
using namespace std;
void addone(vector<int> &a) {
int n = a.size();
a[n-1] += 1;
int carry = a[n-1]/10;
a[n-1] = a[n-1] % 10;
for (int i = n-2; i >= 0; i--) {
if (carry == 1) {
a[i] += 1;
carry = a[i]/10;
a[i] = a[i] % 10;
}
}
if (carry == 1)
a.insert(a.begin(), 1);
}
int main() {
vector<int> num{2, 3, 9, 9};
cout << "The original number is : ";
for (int i = 0; i < num.size(); i++)
cout << num[i];
cout << endl;
addone(num);
cout << "The incremented value is : ";
for (int i = 0; i < num.size(); i++)
cout << num[i];
return 0;
}
आउटपुट
The original number is 2399 The incremented value is 2400