इस समस्या में, हमें एक पूर्णांक मान N दिया गया है। हमारा कार्य श्रृंखला n² - (n-1)² का n पदों तक योग ज्ञात करना है।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट : N = 3 आउटपुट : 6
व्याख्या −
[12 - (0)2] + [22 - (1)2] + [32 - (2)2] = 1 - 0 + 4 - 1 + 9 - 2 = 9
समाधान दृष्टिकोण
समस्या को हल करने का एक सरल दृष्टिकोण श्रृंखला का सामान्य पद ढूंढना और फिर n पदों तक योग ढूंढना है। और सूत्र का उपयोग करके योग परिकलित करने से समय O(1) हो जाएगा। साथ ही, परिणाम बहुत बड़ा हो सकता है इसलिए मानों का मॉड्यूलस ढूंढना होगा।
आइए श्रृंखला के nवें पद के लिए सूत्र प्राप्त करें,
$T_{n} = n^2-(n-1)^2$
a2 - b2 सूत्र का उपयोग करके हल करने पर,
$T_{n} = (n+n-1)*(n-n+1)$
$= (2*n-1)*(1)$
$= 2*n-1$
इसका उपयोग करके हम श्रृंखला के n पदों तक योग ढूंढ सकते हैं,
$\mathrm{sum} = \sum(2*n-1)$
$\mathrm{sum} = 2*\sum{n} - \sum{1}$
$\mathrm{sum} = 2*(n*(n+1))/2-n$
$\mathrm{sum} = n*(n+1)-n = n^2 + n - n = n^2$
श्रृंखला का योग n2 है जो एक बड़ी संख्या है, इसलिए मॉड लिया जाएगा।
उदाहरण
हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम
#include<iostream> using namespace std; #define mod 1000000007 long long calcSumNTerms(long long n) { return ((n%mod)*(n%mod))%mod; } int main() { long long n = 4325353; cout<<"श्रृंखला का n पदों तक योग है "<<calcSumNTerms(n); return 0; } आउटपुट
श्रृंखला का n पदों तक योग है 678443653