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

রেঞ্জে শূন্য রহিত অঙ্ক, নির্দিষ্ট অঙ্ক যোগফল এবং M দ্বারা বিভাজ্য সংখ্যা গণনা C++-এ


START, END, N, M চারটি ভেরিয়েবল দেওয়া আছে। লক্ষ্য হল [START, END] রেঞ্জে যেসব সংখ্যায় ০ অঙ্ক নেই, অঙ্কগুলোর যোগফল N, এবং M দ্বারা বিভাজ্য, তাদের সংখ্যা বের করা।

START থেকে END পর্যন্ত লুপে প্রতিটি সংখ্যায় অঙ্ক যোগফল বের করা হয়। ০ অঙ্ক থাকলে বাদ দেওয়া হয়। যোগফল N এবং M দ্বারা বিভাজ্য হলে কাউন্ট বাড়ানো হয়।

উদাহরণ

ইনপুট: START=1, END=100, N=9, M=6

আউটপুট: শর্ত পূরণকারী সংখ্যা: ৪

ব্যাখ্যা: ১৮, ৩৬, ৫৪, ৭২ — অঙ্ক যোগফল ৯ এবং ৬ দ্বারা বিভাজ্য, শূন্য অঙ্ক নেই।

প্রোগ্রামে ব্যবহৃত পদ্ধতি
  • START, END, N, M নেওয়া হয়।
  • digitSum(int start, int end, int n, int m) ফাংশন কাউন্ট রিটার্ন করে।
  • রেঞ্জে লুপে প্রতিটি সংখ্যায় while লুপ দিয়ে অঙ্ক যোগফল এবং শূন্য অঙ্ক চেক করা হয়।
  • শর্ত পূরণ করলে count বাড়ানো হয়।
C++ কোড উদাহরণ
#include 
using namespace std;

int digitSum(int start, int end, int n, int m){
    int count = 0;
    for (int i = start; i <= end; i++){
        int num = i, digsum = 0, flag = 1;
        if(num % m == 0){
            while(num > 0){
                int digit = num % 10;
                if(digit == 0){ flag = 0; break; }
                digsum += digit;
                num /= 10;
            }
            if(digsum == n && flag == 1){
                count++;
                cout << i << " ";
            }
            i += m; i--;
        }
    }
    return count;
}

int main(){
    int START = 1, END = 100, N = 9, M = 6;
    cout << "শর্ত পূরণকারী সংখ্যা: " << digitSum(START, END, N, M);
    return 0;
}
আউটপুট

উপরোক্ত কোড রান করলে আউটপুট:

শর্ত পূরণকারী সংখ্যা: ৪
  1. সি++-এ [a,b] রেঞ্জে যোগফল পড়ে এমন ট্রিপলেট গণনা

  2. C++-এ ১ থেকে n পর্যন্ত প্রাইম সংখ্যাদের যোগফল

  3. শুধু ৩ ও ৮ ডিজিট দিয়ে সংখ্যা তৈরি করা C++-এ

  4. ৪ ও ৭ ডিজিট দিয়ে ন্যূনতম লাকি নম্বর (নির্দিষ্ট সম) C++-তে