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

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


এই अनुभাগে আমরা একটি আকর্ষণীয় সমস্যা দেখব। ধরা যাক একটি সংখ্যা দেওয়া আছে। এই সংখ্যাকে ১ দ্বারা বাড়াতে হবে। এটি অত্যন্ত সহজ কাজ। কিন্তু এখানে সংখ্যাটিকে একটি অ্যারে হিসেবে রাখা হবে। সংখ্যার প্রতিটি অঙ্ক অ্যারের একটি উপাদান হিসেবে থাকবে। যদি সংখ্যা ৫১২ হয়, তবে এটি {৫, ১, ২} হিসেবে সংরক্ষিত হবে। এবং আমাদের রিকার্সিভ পদ্ধতিতে সংখ্যা বাড়াতে হবে। স্পষ্ট ধারণার জন্য অ্যালগরিদমটি দেখে নেওয়া যাক।

অ্যালগরিদম

increment(arr, n, index)

শুরুতে index-এর ডিফল্ট মান ০

begin    if index < n, then       if arr[index] < 9, then          arr[index] := arr[index] + 1       else          arr[index] := 0          increment(arr, n, index + 1)       end if    if index = n, then       arr[n] := 1       n := n + 1       end if end

উদাহরণ

#include <iostream> #include <cmath> #define MAX 20 using namespace std; void increment(int num_arr[], int &n, int index = 0){    if(index < n){       if(num_arr[index] < 9){ //যদি অঙ্ক ৯ ছোট হয়, ১ যোগ করুন          num_arr[index]++;       }else{ //অন্যথায় রিকার্সিভভাবে সংখ্যা বাড়ান          num_arr[index] = 0;          increment(num_arr, n, index+1);       }    }    if(index == n){       num_arr[n] = 1; //অতিরিক্ত ক্যারি যোগ করুন       n++; //n বাড়ান    } } void dispNumber(int num_arr[], int n){    for(int i = n-1; i>= 0; i--){       cout << num_arr[i];    }    cout << endl; } int numToArr(int num_arr[], int number){    int i = 0;    int n = log10(number) + 1;    for(int i = i; i< n; i++){       num_arr[i] = number % 10;       number /= 10;    }    return n; } main() {    int number = 1782698599;    int num_arr[MAX];    int n = numToArr(num_arr, number);    cout << "Initial Number: "; dispNumber(num_arr, n);    increment(num_arr, n);    cout << "Final Number: "; dispNumber(num_arr, n); }

আউটপুট

Initial Number: 1782698599 Final Number: 1782698600

  1. সি++-এ অ্যারেতে異常 মান (Anomaly) গণনা

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

  3. C#-এ HashSet-এ উপাদানের সংখ্যা জানতে Count প্রপার্টি ব্যবহার

  4. C#-এ বাইট অ্যারের বাইট কাউন্ট করা