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

সি++-এ [L, R] রেঞ্জের সব জোড় সংখ্যা গণনা যাদের অঙ্কগুলোর যোগফল ৩ দ্বারা বিভাজ্য

আমাদের দুটি সংখ্যা L এবং R দেওয়া আছে যা [L, R] রেঞ্জটি নির্ধারণ করে। লক্ষ্য হল L এবং R-এর মধ্যবর্তী সব সংখ্যা খুঁজে বের করা যা জোড় এবং যাদের অঙ্কগুলোর যোগফল ৩ দ্বারা বিভাজ্য।

উদাহরণ

ইনপুট: L=10, R=20

আউটপুট: [L, R] রেঞ্জের জোড় সংখ্যা যাদের অঙ্কের যোগফল ৩ দ্বারা বিভাজ্য: ২

ব্যাখ্যা: ১০ থেকে ২০ পর্যন্ত জোড় সংখ্যাগুলো: ১০, ১২, ১৪, ১৬, ১৮, ২০। যাদের অঙ্কের যোগফল ৩ দ্বারা বিভাজ্য: ১২ (১+২=৩) এবং ১৮ (১+৮=৯)।

ইনপুট: L=100, R=108

আউটপুট: [L, R] রেঞ্জের জোড় সংখ্যা যাদের অঙ্কের যোগফল ৩ দ্বারা বিভাজ্য: ২

ব্যাখ্যা: ১০০ থেকে ১০৮ পর্যন্ত জোড় সংখ্যাগুলো: ১০০, ১০২, ১০৪, ১০৬, ১০৮। যাদের অঙ্কের যোগফল ৩ দ্বারা বিভাজ্য: ১০২ (১+০+২=৩) এবং ১০৮ (১+০+৮=৯)।

অ্যাপ্রোচ

  • first এবং last ভেরিয়েবল দিয়ে রেঞ্জ নির্ধারণ করা হয়।
  • Digit_sum(int num) ফাংশন সংখ্যা গ্রহণ করে এর অঙ্কগুলোর যোগফল রিটার্ন করে।
  • while লুপ ব্যবহার করে num ০ না হওয়া পর্যন্ত num%10 (এককের অঙ্ক) total-এ যোগ করা হয় এবং num কে ১০ দিয়ে ভাগ করে কমিয়ে আনা হয়।
  • divisible_3(int first, int last) ফাংশন রেঞ্জ গ্রহণ করে জোড় সংখ্যা যাদের অঙ্কের যোগফল ৩ দ্বারা বিভাজ্য, তাদের গণনা রিটার্ন করে।
  • for লুপে i=first থেকে i<=last পর্যন্ত যাচাই করা হয় সংখ্যাটি জোড় কিনা (i%2==0)। জোড় হলে Digit_sum(i) কল করে যোগফল ৩ দ্বারা বিভাজ্য কিনা যাচাই করে count বাড়ানো হয়।

উদাহরণ কোড

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

int Digit_sum(int num) {
    int total = 0;
    while (num != 0) {
        total += num % 10;
        num = num / 10;
    }
    return total;
}

int divisible_3(int first, int last) {
    int count = 0;
    for (int i = first; i <= last; i++) {
        if (i % 2 == 0 && Digit_sum(i) % 3 == 0) {
            count++;
        }
    }
    return count;
}

int main() {
    int first = 300, last = 500;
    cout << "Count of all even numbers in the range [L, R] whose sum of digits is divisible by 3 are: " << divisible_3(first, last);
    return 0;
}

আউটপুট

Count of all even numbers in the range [L, R] whose sum of digits is divisible by 3 are: 34
  1. C++-এ নির্দিষ্ট রেঞ্জে সবচেয়ে ছোট ফ্যাক্টর K হয় এমন সংখ্যা গণনা

  2. C++-এ অঙ্কের যোগফল নির্দিষ্ট সমান n-অঙ্কের সব সংখ্যা প্রিন্ট করা

  3. C++-এ অ্যারেতে সর্বোচ্চ সन्नিহিত জোড় সংখ্যা (Contiguous Even Numbers) এর গণনা

  4. C++-এ সংখ্যা গুলোকে তাদের ডিজিট সমষ্টি অনুযায়ী সর্ট করা