কম্পিউটার

C++ এ বিজোড় পূর্ণসংখ্যার যোগফল হিসেবে 'n' প্রকাশ করার উপায় গণনা করুন


ইনপুট হিসাবে একটি পূর্ণসংখ্যা n দেওয়া হয়েছে৷ লক্ষ্য হল বিজোড় পূর্ণসংখ্যার যোগফল হিসাবে আমরা 'n' কে উপস্থাপন করতে পারি এমন উপায়গুলির সংখ্যা খুঁজে বের করা। উদাহরণস্বরূপ, যদি n 3 হয় তবে এটি যোগফল ( 1+1+1 ) এবং (3) তাই মোট 2 উপায় হিসাবে উপস্থাপন করা যেতে পারে।

উদাহরণস্বরূপ

ইনপুট

n=6

আউটপুট

Count of ways to express ‘n’ as sum of odd integers are: 8

ব্যাখ্যা

The ways in which we can express ‘n’ as sum of odd integers −
1. 1+1+1+1+1+1
2. 3+1+1+1
3. 1+3+1+1
4. 1+1+3+1
5. 1+1+1+3
6. 3+3
7. 1+5
8. 5+1

ইনপুট

n=9

আউটপুট

Count of ways to express ‘n’ as sum of odd integers are: 34

ব্যাখ্যা

The some of the ways in which we can express ‘n’ as sum of odd integers:
1. 1+1+1+1+1+1+1+1+1
2. 3+3+3
3. 5+3+1
4. 7+1+1
5. ….and other such combinations

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

এই পদ্ধতিতে আমরা n−1ম এবং n−2ম সংখ্যার আগের সংখ্যাগুলি থেকে বিজোড় পূর্ণসংখ্যার যোগফল হিসাবে একটি সংখ্যাকে উপস্থাপন করার উপায়গুলি পরীক্ষা করব। উপায় হবে উপায়(n−1) + উপায়(n−2)।

  • ইনপুট হিসাবে একটি পূর্ণসংখ্যা n নিন।

  • ফাংশন odd_ways(int n) একটি সংখ্যা নেয় এবং বিজোড় পূর্ণসংখ্যার যোগফল হিসাবে 'n' প্রকাশ করার উপায়গুলির গণনা প্রদান করে।

  • বিজোড় পূর্ণসংখ্যার যোগফল হিসাবে সংখ্যাগুলিকে উপস্থাপন করার জন্য গণনার উপায়গুলি সঞ্চয় করতে n+1 দৈর্ঘ্যের একটি অ্যারে নিন৷

  • সংখ্যা 0 এর জন্য, এমন কোন উপায় নেই তাই 0 এর সাথে arr[0] সেট করুন।

  • নম্বর 1 এর জন্য শুধুমাত্র একটি উপায় আছে তাই 1 এর সাথে arr[1] সেট করুন।

  • বাকি সংখ্যার জন্য আমরা 2 থেকে n এর মধ্যে i এর জন্য arr[i−1]+arr[i−2] এর সাথে arr[i] সেট করতে পারি।

  • শেষে আমাদের কাছে আছে arr[n] সংখ্যার জন্য যেভাবে 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<<"Count of ways to express ‘n’ as sum of odd integers are: "<<odd_ways(n);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of ways to express ‘n’ as sum of odd integers are: 8

  1. C++ এ একটি অ্যারেতে যৌগিক উপাদানের গণনা এবং যোগফল

  2. C++ এ একটি পূর্ণসংখ্যাতে জোড় এবং বিজোড় সংখ্যা গণনা করুন

  3. C++ এ একটি সংখ্যা হিসাবে 0 সহ 'd' সংখ্যার ধনাত্মক পূর্ণসংখ্যা গণনা করুন

  4. C++ এ শূন্য পর্যন্ত N অনন্য পূর্ণসংখ্যার যোগফল খুঁজুন