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

C++-এ সংখ্যা N-কে ভাগ করে দিতে পারা ডিজিট গণনা

আমাদের একটি সংখ্যা N দেওয়া আছে। কাজ হল N-এর ডিজিটগুলোর মধ্যে কতগুলো N-কে ভাগ করে দেয় তা গণনা করা।

মনে রাখার বিষয়

  • ডিজিট ০ হলে এড করা হবে না।
  • একই ডিজিট একাধিকবার আসলে প্রতিবার আলাদা করে কাউন্ট হবে।

উদাহরণ

ইনপুট: number = 2240 → আউটপুট: 3

ব্যাখ্যা: ডিজিটগুলো ২, ২, ৪, ০। ২, ২, ৪ - এই তিনটি ২২৪০ কে ভাগ করে দেয়। ০ উপেক্ষা।

ইনপুট: number = 755 → আউটপুট: 2

ব্যাখ্যা: ডিজিটগুলো ৭, ৫, ৫। ৫ এবং ৫ - এই দুটি ৭৫৫ কে ভাগ করে দেয়।

সমাধানের পদ্ধতি

  1. সংখ্যা num ইনপুট নিন।
  2. যতক্ষণ num > 0:
    • শেষ ডিজিট rem = num % 10 নিন।
    • rem > 0 এবং num % rem == 0 হলে কাউন্ট বাড়ান।
    • num = num / 10 করুন।
  3. ফলাফল রিটার্ন করুন।

প্রোগ্রাম উদাহরণ

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

int count(int num) {
    int original = num;
    int count = 0, rem;
    while (num > 0) {
        rem = num % 10;
        if (rem > 0 && original % rem == 0)
            count++;
        num = num / 10;
    }
    return count;
}

int main() {
    int num = 2240;
    cout << "Count of digits in given number " << num 
         << " which divide N are: " << count(num);
    return 0;
}

আউটপুট

Count of digits in given number 2240 which divide N are: 3
  1. C++-এ ফ্যাক্টোরিয়ালে অঙ্ক গণনা

  2. সি++ প্রোগ্রাম: D দিয়ে বিভাজ্য N অঙ্কের সংখ্যা খুঁজে বের করা

  3. সি++ প্রোগ্রাম: সংখ্যা বিভাজ্য করে এমন অঙ্কগুলোর গণনা (Count of Digits Dividing the Number)

  4. C++-এ দেওয়া সংখ্যার ডিজিটগুলোর যোগফল বের করা