কম্পিউটার টিউটোরিয়াল

অ্যারে হিসেবে প্রকাশিত সংখ্যাতে ১ যোগ করা (রিকার্সিভ পদ্ধতি)


একটি অ্যারে দেওয়া আছে যা নন-নেগেটিভ নম্বরের ডিজিটগুলোর সংগ্রহ। এই সংখ্যাতে ১ যোগ করতে হবে (অ্যারের ডিজিটগুলো দ্বারা প্রকাশিত সংখ্যা ইনক্রিমেন্ট করা)। ডিজিটগুলো এমনভাবে স্টোর করা থাকে যে সবচেয়ে গুরুত্বপূর্ণ ডিজিট (most significant digit) অ্যারের প্রথম এলিমেন্ট।

অ্যারে দ্বারা প্রকাশিত সংখ্যাতে ১ যোগ করতে:

  • অ্যারের শেষ থেকে শুরু করুন, যোগ করা মানে শেষ নম্বর ৪ কে ৫ করা।

  • যদি শেষ এলিমেন্ট ৯ হয়, তবে সেটি ০ করুন এবং carry = 1 রাখুন।

  • পরবর্তী ইটারেশনে carry চেক করুন এবং যদি যোগফল ১০ হয়, তবে ধাপ ২كرر করুন।

  • carry যোগ করার পর পরবর্তী ইটারেশনের জন্য carry = 0 করুন।

  • যদি ভেক্টরের আকার বাড়ে, তবে শুরুতে ১ যোগ করুন।

ধরুন অ্যারেতে [7, 6, 3, 4] আছে, তবে এটি ১২৩৪ সংখ্যাকে নির্দেশ করে এবং এতে ১ যোগ করলে ৭৬৩৫ হবে। তাই নতুন অ্যারে [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]

ব্যাখ্যা অ্যারের শেষ এলিমেন্টে ১ যোগ করুন, যদি সেটি ৯-র চেয়ে ছোট হয়। যদি এলিমেন্ট ৯ হয়, তবে সেটি ০ করে বাকি এলিমেন্টের জন্য রিকার্শন করুন।

উদাহরণ

#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; }

  1. দত্ত একটি সংখ্যার সাথে ১ যোগ করা (Add 1 to a Given Number)

  2. C++ তে অ্যারে রিপ্রেজেন্টেড সংখ্যার সাথে ১ যোগ করা

  3. C++-এ অ্যারেতে ন্যূনতম সংখ্যা যোগ করে যোগফল জোড় করার পদ্ধতি

  4. C#-তে Collection<T>-এর উপাদানগুলি অ্যারেতে কপি করা