यहां हम देखेंगे कि क्या एक संख्या को दो या अधिक क्रमागत संख्याओं के योग के रूप में दर्शाया जा सकता है या नहीं। मान लीजिए एक संख्या 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