এই সমস্যায়, আমাদের দুটি সংখ্যা দেওয়া হয়েছে, যেখান থেকে একটিকে অঙ্কের অ্যারে ব্যবহার করে উপস্থাপন করা হয়েছে। আমাদের কাজ হল এমন একটি প্রোগ্রাম তৈরি করা যা দুটি সংখ্যার যোগফল খুঁজে বের করবে যেখানে একটি সংখ্যাকে অঙ্কের অ্যারে হিসাবে উপস্থাপন করা হয়।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
Input: n = 213, m[] = {1, 5, 8, } Output: 371 Explanation: 213 + 158 = 371
এই সমস্যাটি সমাধান করার জন্য, আমরা অ্যারের কোন উপাদানটি সংখ্যা থেকে অঙ্ক অনুসারে অঙ্ক করব। সংখ্যার এটি lsb অ্যারের (n-1)তম উপাদানে যোগ করা হয়। বহন পরবর্তী যোগফলের জন্য প্রচার করা হবে।
উদাহরণ
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,
#include <iostream> using namespace std; void addNumbers(int n, int size, int *m){ int carry = 0; int sum = 0; for(int i = size-1; i >= 0; i--){ sum = (n%10) + m[i] + carry; n /= 10; carry = sum/10; m[i] = sum%10; } } int main() { int n= 679; int m[] = {1, 9, 5, 7, 1, 9}; int size = sizeof(m)/sizeof(m[0]); cout<<"The sum of two numbers where one number is represented as array of digits is "; addNumbers(n, size, m); for(int i = 0; i < size; i++) cout<<m[i]; }
আউটপুট
The sum of two numbers where one number is represented as array of digits is 196398