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

C++-এ 'n' কে বিজোড় ইন্টিজার যোগফল হিসেবে প্রকাশ করার পদ্ধতির সংখ্যা গণনা


একটি ইন্টিজার n ইনপুট হিসেবে দেওয়া আছে। লক্ষ্য হলো n-কে বিজোড় ইন্টিজারগুলোর যোগফল হিসেবে প্রকাশ করার পদ্ধতির সংখ্যা বের করা। উদাহরণস্বরূপ, যদি n = 3 হয়, তবে এটি যোগফল (১+১+১) এবং (৩) হিসেবে প্রকাশ করা যায়, তাই মোট ২ পদ্ধতি।

উদাহরণ ১

ইনপুট

n=6

আউটপুট

'n' কে বিজোড় ইন্টিজার যোগফল হিসেবে প্রকাশ করার পদ্ধতির সংখ্যা: 8

ব্যাখ্যা

'n' কে বিজোড় ইন্টিজার যোগফল হিসেবে প্রকাশ করার পদ্ধতিগুলো: ১. ১+১+১+১+১+১ ২. ৩+১+১+১ ৩. ১+৩+১+১ ৪. ১+১+৩+১ ৫. ১+১+১+৩ ৬. ৩+৩ ৭. ১+৫ ৮. ৫+১

উদাহরণ ২

ইনপুট

n=9

আউটপুট

'n' কে বিজোড় ইন্টিজার যোগফল হিসেবে প্রকাশ করার পদ্ধতির সংখ্যা: 34

ব্যাখ্যা

'n' কে বিজোড় ইন্টিজার যোগফল হিসেবে প্রকাশ করার কিছু পদ্ধতি: ১. ১+১+১+১+১+১+১+১+১ ২. ৩+৩+৩ ৩. ৫+৩+১ ৪. ৭+১+১ ৫. ...এবং অন্যান্য такие কম্বিনেশন

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

এই পদ্ধতিতে আগের সংখ্যাগুলো n-1তম এবং n-2তম সংখ্যা থেকে বিজোড় ইন্টিজার যোগফল হিসেবে প্রকাশ করার পদ্ধতি চেক করা হয়। পদ্ধতি হবে ways(n-1) + ways(n-2)।

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

  • odd_ways(int n) ফাংশনটি পদ্ধতির সংখ্যা রিটার্ন করে।

  • n+1 দৈর্ঘ্যের অ্যারে arr নিন বিজোড় যোগফল হিসেবে প্রকাশ করার পদ্ধতি সংরক্ষণের জন্য।

  • সংখ্যা ০-এর জন্য কোনো পদ্ধতি নেই, তাই arr[0] = 0।

  • সংখ্যা ১-এর জন্য মাত্র ১ পদ্ধতি, তাই arr[1] = 1।

  • বাকি সংখ্যাগুলোর জন্য i=2 থেকে n পর্যন্ত arr[i] = arr[i-1] + arr[i-2] সেট করুন।

  • শেষে arr[n]-এ বিজোড় যোগফল হিসেবে প্রকাশ করার পদ্ধতি থাকবে।

  • arr[n] রিটার্ন করুন ফলাফল হিসেবে।

উদাহরণ কোড

#include<iostream> 
using namespace std; 

int odd_ways(int n) {
    int arr[n+1]; 
    arr[0] = 0; 
    arr[1] = 1; 
    
    for(int i = 2; i <= n; i++) {
        arr[i] = arr[i-1] + arr[i-2]; 
    } 
    
    return arr[n]; 
} 

int main() { 
    int n = 6; 
    cout << "'n' কে বিজোড় ইন্টিজার যোগফল হিসেবে প্রকাশ করার পদ্ধতির সংখ্যা: " << odd_ways(n); 
    return 0; 
}

আউটপুট

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

'n' কে বিজোড় ইন্টিজার যোগফল হিসেবে প্রকাশ করার পদ্ধতির সংখ্যা: 8

  1. C++-এ অ্যারেতে কম্পোজিট উপাদান গণনা ও যোগফল

  2. C++-এ পূর্ণসংখ্যায় জোড় ও বিজোড় অঙ্ক গণনা

  3. C++-এ d-ডিজিটের ধনাত্মক পূর্ণসংখ্যা যেগুলোতে ০ ডিজিট থাকে (Count d-digit Numbers with Digit 0)

  4. C++-এ Nটি ইউনিক ইন্টিজার খুঁজে বের করা যাদের যোগফল শূন্য