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

C++-এ N ডিজিটের সকল সংখ্যা যাতে num + Rev(num) = 10^N - 1 হয় সেটির গণনা


একটি সংখ্যা N ইনপুট হিসেবে দেওয়া আছে। লক্ষ্য হলো সকল N ডিজিটের সংখ্যা যাদের রিভার্সের সাথে যোগফল 10^N - 1 হয়, সেটির গণনা করা।

num + rev(num) = 10N - 1

উদাহরণ ১

ইনপুট

N=4

আউটপুট

N ডিজিটের সকল সংখ্যা যাতে num + Rev(num) = 10N - 1 হয় সেটির গণনা: 90

ব্যাখ্যা

সংখ্যাগুলো হবে: 1. 1188 + 8811 = 9999 2. 2277 + 7722 = 9999 3. 1278 + 8721 = 9999 ...মোট ৯০টি সংখ্যা

উদাহরণ ২

ইনপুট

N=5

আউটপুট

N ডিজিটের সকল সংখ্যা যাতে num + Rev(num) = 10N - 1 হয় সেটির গণনা: 0

ব্যাখ্যা

যেহেতু N বিজোড়, মাঝের ডিজিট নিজের সাথে যোগ হবে এবং যোগফল ৯ হবena। উদাহরণ: 148+841=989

প্রয়োগ করা পদ্ধতি

যেকোনো N ডিজিটের সংখ্যার রিভার্সের সাথে যোগফল 999...N বার হবে যদি উভয় সংখ্যার প্রতিটি ডিজিট জোড়ার যোগফল ৯ হয়। বিজোড় N-এর ক্ষেত্রে মাঝের ডিজিট নিজের সাথে যোগ হবে। যেহেতু একই পূর্ণসংখ্যা দুটির যোগফল ৯ হতে পারে না, তাই উত্তর হবে ০। জোড় N-এর ক্ষেত্রে, ১ম-Nতম, ২য়-N-1তম, ৩য়-N-2তম... ডিজিট জোড়ার যোগফল ৯ হতে হবে। সম্ভাব্য জোড়াগুলো: (1+8), (2+7), (3+6), (4+5), (5+4), (6+3), (7+2), (8+1), (9+0)। উত্তর হবে 9 × 10N/2 - 1।

  • ইনপুট হিসেবে ইন্টিজার N নিন।

  • digit_numbers(int N) ফাংশনটি N গ্রহণ করে গণনা রিটার্ন করে।

  • আরম্ভিক কাউন্ট ০ রাখুন।

  • যদি N বিজোড় হয় (N%2 == 1), তবে ০ রিটার্ন করুন।

  • অন্যথায় count = 9 * pow(10, N/2 - 1) সেট করুন।

  • কাউন্ট রিটার্ন করুন ফলাফল হিসেবে।

উদাহরণ কোড

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

int digit_numbers(int N) {
    int count = 0; 
    if (N % 2 == 1) {
        return 0; 
    } else {
        count = 9 * pow(10, N/2 - 1); 
    } 
    return count; 
} 

int main() { 
    int N = 4; 
    cout << "N ডিজিটের সকল সংখ্যা যাতে num + Rev(num) = 10^N - 1 হয় সেটির গণনা: " << digit_numbers(N); 
    return 0; 
}

আউটপুট

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

N ডিজিটের সকল সংখ্যা যাতে num + Rev(num) = 10^N - 1 হয় সেটির গণনা: 90

  1. C++-এ চারটি অ্যারে থেকে XOR সমান x হয় এমন কোড্রাপল গণনা

  2. C++-এ দেওয়া শর্ত পূরণ করে N-ডিজিট সংখ্যা গণনা

  3. C++-এ ১ থেকে n পর্যন্ত ৪ ডিজিট থাকা সংখ্যা গণনা (Count Numbers with Digit 4)

  4. C++ ব্যবহার করে অ্যারেতে a % b = k সেটি করার সব জোড়া (a, b) বের করা