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

ইন্টিজারে হোল (গোলাকার ছিদ্র) সংখ্যা গণনা C++-এ


একটি অ্যারে holes[10] দেওয়া আছে যেটি ০ থেকে ৯ সংখ্যাগুলোর হোল (গোলাকার ছিদ্র) সংখ্যা ধারণ করে। লক্ষ্য হলো ইনপুট দিয়ে ইন্টিজার সংখ্যায় মোট কতগুলো হোল আছে তা বের করা। দেওয়া: holes[] = {2, 1, 1, 0, 0, 1, 1, 1, 0} (নোট: ৯-এর জন্য মান অনুপস্থিত, ধরে নেওয়া হয় ১ বা ০) ।

ইনপুট

number = 239143

আউটপুট

Count the number of holes in an integer are: 3

ব্যাখ্যা

holes[] দিয়ে গড়ে 239143 এর হোল: (1+0+0+2+0+0) = 3

ইনপুট

number = 12345

আউটপুট

Count the number of holes in an integer are: 3

ব্যাখ্যা

holes[] দিয়ে গড়ে 12345 এর হোল: (1+1+0+0+1) = 3

প্রোগ্রামে ব্যবহৃত পদ্ধতি:

সহজে প্রতিটি ডিজিট num%10 দিয়ে বের করে holes[num%10] কাউন্টে যোগ করা হয়। তারপর num ১০ দিয়ে ভাগ করে ছোট করা হয়।

  • ইন্টিজার ইনপুট নেওয়া হয়।
  • holes[] অ্যারে ইনিশিয়ালাইজ করা হয়।
  • holes_integer(int number, int holes[]) ফাংশন ইন্টিজারে হোল সংখ্যা রিটার্ন করে।
  • ইনিশিয়াল কাউন্ট ০।
  • number > 0 পর্যন্ত ট্রভারস।
  • temp = number % 10 লাস্ট ডিজিট। count += holes[temp]।
  • number = number/10 করে ছোট করা হয়।
  • শেষে count রিটার্ন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int holes_integer(int number, int holes[]) {
    int count = 0;
    while (number > 0) {
        int temp = number % 10;
        count = count + holes[temp];
        number = number / 10;
    }
    return count;
}

int main() {
    int number = 239143;
    int holes[] = { 2, 1, 1, 0, 0, 1, 1, 1, 0 };
    cout << "Count the number of holes in an integer are: " << holes_integer(number, holes);
    return 0;
}

আউটপুট

Count the number of holes in an integer are: 2

  1. OpenCV-এ C++ ব্যবহার করে চেহারার সংখ্যা গণনা করা

  2. OpenCV-এ C++ ব্যবহার করে মোট ফ্রেম সংখ্যা গণনা করা

  3. ফিবোনাচ্চি সংখ্যা যেন করা নোডের ওজন এবং X-এর যোগফল C++-এ

  4. সি++-এ আয়তক্ষেত্রে বর্গের সংখ্যা গণনা