इस समस्या में, हमें एक पूर्णांक मान N दिया जाता है। हमारा कार्य श्रृंखला 1 - 2 + 3 - 4 + 5 - 6 + 7 तक n पदों का योग ज्ञात करना है ।
श्रृंखला 1 - 2 + 3 - 4 + 5 - 6 + 7 - 8 + 9 - 10...
. हैसमस्या को समझने के लिए एक उदाहरण लेते हैं,
Input : N = 4 Output : -2
स्पष्टीकरण -
1 - 2 + 3 - 4 = -2
समाधान दृष्टिकोण
समस्या को हल करने का एक सरल तरीका है श्रृंखला का सामान्य पद ज्ञात करना और फिर n पदों तक का योग ज्ञात करना। और सूत्र का उपयोग करके योग की गणना करने से समय कम होकर O(1) हो जाएगा।
श्रृंखला है,
1 - 2 + 3 - 4 + 5 - 6 + 7 - 8 + 9 - 10...
आइए कुछ मानों के लिए श्रृंखला का योग ज्ञात करें,
योग(1) =1
योग(2) =1 - 2 =-1
योग(3) =1 - 2 + 3 =2
योग(4) =1 - 2 + 3 - 4 =-2
योग(5) =1 - 2 + 3 - 4 + 5 =3
योग(6) =1 - 2 + 3 - 4 + 5 - 6 =-3
योग(7) =1 - 2 + 3 - 4 + 5 - 6 + 7 =4
योग(8) =1 - 2 + 3 - 4 + 5 - 6 + 7 - 8 =-4
यहाँ के लिए, हम यह निष्कर्ष निकाल सकते हैं कि योग इस प्रकार तैयार किया जा सकता है,
योग =+(n+1)/2 अगर n विषम है।
योग =-(n)/2 यदि n सम है।
उदाहरण
हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम
#include<iostream> using namespace std; int calcSumNTerms(int n) { if(n%2 == 0) return ((-1)*(n/2)); return ((n+1)/2); } int main() { int n = 156; cout<<"The sum of series upto n terms is "<<calcSumNTerms(n); return 0; }
आउटपुट
The sum of series upto n terms is -78