हमें दो अंक num_1 और num_2 दिए गए हैं। लक्ष्य संख्या जोड़े जाने पर आवश्यक कैरी ऑपरेशंस की संख्या की गणना करना है। यदि संख्याएं 123 और 157 हैं तो कैरी ऑपरेशन 1 होगा। (7+3=10, 1+2+5=8, 1+1=2)।
आइए उदाहरणों के साथ समझते हैं
इनपुट - num_1=432 num_2=638
आउटपुट − दो संख्याओं को जोड़ने के लिए आवश्यक कैरी ऑपरेशंस की संख्या है − 2
स्पष्टीकरण − दाएं से बाएं अंक जोड़ना और गिनती गिनना -
(2+9=10, carry 1 ) count=1, (1+3+3=7, carry 0 ) count=1, (4+6=10, carry 1 ) count=2
इनपुट - num_1=9999 संख्या_2=111
आउटपुट − दो संख्याओं को जोड़ने के लिए आवश्यक कैरी ऑपरेशंस की संख्या है − 4
स्पष्टीकरण − दाएं से बाएं अंक जोड़ना और गिनती गिनना -
(9+1=10, carry 1 ) count=1, (1+9+1=11, carry 1 ) count=2, (1+9+1=11, carry 1 ) count=3, (1+9=10, carry 1) count=4
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
हम दोनों संख्याओं को स्ट्रिंग्स में बदल देंगे। अंत से स्ट्रिंग्स को ट्रैवर्स करना शुरू करें, कैरेक्टर को एक पूर्णांक में कनवर्ट करें, दोनों और पिछले कैरी (प्रथम पुनरावृत्ति के लिए 0) जोड़ें, यदि मान> 10 सेट कैरी 1 के रूप में है। यदि कैरी कैरी की 1 इंक्रीमेंट काउंट है।
-
दो संख्याओं को num_1 और num_2 के रूप में लें।
-
फ़ंक्शन कैर्री_एड_टू_नंबर्स(num_1, num_2) दोनों को जोड़े जाने पर आवश्यक कैरी की संख्या और रिटर्न काउंट दोनों लेता है।
-
to_string(x) का उपयोग करके दोनों नंबरों को स्ट्रिंग में बदलें और str_1 और str_2 में स्टोर करें।
-
लंबाई () को lenght_str_1 और length_str_2 के रूप में उपयोग करके दोनों स्ट्रिंग्स की लंबाई लें।
-
शुरुआती गिनती को 0 के रूप में लें और शुरुआती कैरी को भी 0 की तरह लें।
-
जबकि दोनों लंबाई गैर-शून्य हैं।
-
अंतिम वर्ण से पूर्णांक में कनवर्ट करते रहें और पूर्णांकों को i और j में संग्रहीत करें।
-
दोनों तारों की लंबाई कम करें।
-
i+j+carry के रूप में जोड़ने के लिए चर लें।
-
यदि जोड़ें>10 तो वृद्धि गणना (जैसा कि किया जाता है)। और कैरी =1 सेट करें। अन्यथा अगले पुनरावृत्ति के लिए कैरी =0 सेट करें।
-
सभी पुनरावृत्तियों के अंत के बाद, गिनती में कुल संख्या में वहन होंगे।
-
परिणाम के रूप में वापसी की गिनती।
उदाहरण
#include <bits/stdc++.h> using namespace std; int carry_add_two_numbers(int num_1, int num_2){ string str_1 = to_string(num_1); int length_str_1 = str_1.length(); string str_2 = to_string(num_2); int length_str_2 = str_2.length(); int count = 0, carr = 0; while(length_str_1 != 0 || length_str_2 != 0){ int i = 0, j = 0; if (length_str_1 > 0){ i = str_1[length_str_1 - 1] - '0'; length_str_1--; } if (length_str_2 > 0){ j = str_2[length_str_2 - 1] - '0'; length_str_2--; } int add = i + j + carr; if (add >= 10){ carr = 1; count++; } else{ carr = 0; } } return count; } int main(){ int num_1 = 234578; int num_2 = 1234; int count = carry_add_two_numbers(num_1, num_2); cout<<"Count of number of carry operations required to add two numbers are: "<<count; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of number of carry operations required to add two numbers are: 2