এখানে আমরা দেখব যে একটি সংখ্যাকে দুই বা ততোধিক ধারাবাহিক সংখ্যার যোগফল হিসাবে উপস্থাপন করা যায় কি না। ধরুন একটি সংখ্যা 12। এটিকে 3+4+5 হিসাবে উপস্থাপন করা যেতে পারে।
এই সমস্যা সমাধানের জন্য একটি সরাসরি এবং সহজ পদ্ধতি আছে। যদি একটি সংখ্যা 2 এর ঘাত হয়, তবে এটিকে কিছু ধারাবাহিক সংখ্যার যোগফল হিসাবে প্রকাশ করা যায় না। দুটি তথ্য আছে যা আমাদের মনে রাখতে হবে।
- যেকোন দুটি পরপর সংখ্যার যোগফল বিজোড়, তাহলে তাদের একটি বিজোড় হবে, আরেকটি জোড় হবে।
- দ্বিতীয় তথ্য হল 2 n =2 (n-1) + 2 (n-1) .
উদাহরণ
#include <iostream>
using namespace std;
bool isSumofconsecutiveNumbers(int n) {
if((n & (n-1)) && n){
return true;
} else {
return false;
}
}
int main() {
int num = 36;
if(isSumofconsecutiveNumbers(num)){
cout << "Can be represented";
} else {
cout << "Cannot be represented";
}
} আউটপুট
Can be represented