यहां हम देखेंगे कि क्या एक संख्या को दो या अधिक क्रमागत संख्याओं के योग के रूप में दर्शाया जा सकता है या नहीं। मान लीजिए संख्या 12 है। इसे 3+4+5 के रूप में दर्शाया जा सकता है।
इस समस्या को हल करने का एक सीधा और सबसे आसान तरीका है। यदि कोई संख्या 2 की घात है, तो इसे कुछ क्रमागत संख्याओं के योग के रूप में व्यक्त नहीं किया जा सकता। दो तथ्य हैं जिन्हें हमें ध्यान में रखना होगा।
- किन्हीं दो क्रमागत संख्याओं का योग विषम होता है, तो उनमें से एक विषम होगा, दूसरा सम।
- दूसरा तथ्य है 2ⁿ = 2⁽ⁿ⁻¹⁾ + 2⁽ⁿ⁻¹⁾।
उदाहरण
#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