দুটি অ্যারের উপাদান যোগ করে তৃতীয় অ্যারেতে রাখতে হবে কিছু বাধ্যবাধকতা মেনে:
১) যোগ ০ इंडেক্স থেকে শুরু
২) যোগফল যদি একাধিক ডিজিট হয় তবে প্রতিটি ডিজিট আলাদা করে রাখুন
৩) বড় অ্যারের বাকি উপাদানগুলো সরাসরি রাখুন (এক ডিজিট হলে) অথবা ভাগ করে রাখুন
অ্যালগরিদম
addArrayConstraints(arr1, arr2)
Begin define vector out i := 0 while i < min(m,n) do add := arr1[i]+arr2[i] if add < 10 push add else split digits and push each done while arr1 not exhausted do split and push done while arr2 not exhausted do split and push done End
উদাহরণ
#include<iostream> #include<vector> using namespace std; void splitDigit(int num, vector<int> &out) { ... } void addArrayConstraints(int arr1[], int arr2[], int m, int n) { ... } main() { int arr1[] = {9323,8,6,55,25,6}; int arr2[] = {38,11,4,7,8,7,6,99}; addArrayConstraints(arr1, arr2, n1, n2); }আউটপুট
9 3 6 1 1 9 1 0 6 2 3 3 1 3 6 9 9