उदाहरण
public class Demo {
static long my_val = 1000000007;
public static long computeVal(long my_int) {
return ((my_int % my_val) * (my_int % my_val)) % my_val;
}
public static void main(String[] args) {
long my_int = 45687234;
System.out.println("गणना किया गया मान है: ");
System.out.print(computeVal(my_int));
}
}
आउटपुट
गणना किया गया मान है 335959495
व्याख्या: Demo क्लास 'computeVal' नामक एक फंक्शन परिभाषित करती है जो एक विशिष्ट श्रृंखला के योग की गणना करता है और लौटाता है। मुख्य फंक्शन में, लॉन्ग इंटीजर को परिभाषित किया जाता है और इस पूर्णांक को पैरामीटर के रूप में पास करके फंक्शन को कॉल किया जाता है। प्रासंगिक आउटपुट कंसोल पर प्रदर्शित होता है।
गणितीय विश्लेषण:
दिया गया पद: n² - (n-1)²
n² - (n-1)² = n² - (n² - 2n + 1) = 2n - 1
पहले n पदों का योग:
Σ(2k - 1) for k=1 to n = 2Σk - Σ1 = 2(n(n+1)/2) - n = n²
इसलिए, पहले n पदों का योग केवल n² है!
सरलीकृत समाधान:
public static long seriesSum(long n) {
// सीधा फॉर्मूला: n²
return (n % MOD) * (n % MOD) % MOD;
}
// जहां MOD = 1000000007 (बड़ी संख्याओं के लिए मॉड्यूलो)
मॉड्यूलर अंकगणित नोट:
कोड 1,000,000,007 (10⁹+7) मॉड्यूलो का उपयोग करता है जो प्रतिस्पर्धात्मक प्रोग्रामिंग में पूर्णांक ओवरफ्लो से बचने के लिए एक सामान्य अभाज्य मॉड्यूलस है।
सत्यापन:
n=1: 1² - 0² = 1, योग=1 = 1² ✓
n=2: 1 + (4-1) = 4 = 2² ✓
n=3: 1 + 3 + (9-4) = 9 = 3² ✓
n=4: 1 + 3 + 5 + (16-9) = 16 = 4² ✓