Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा प्रोग्राम: पहले n प्राकृतिक संख्याओं के वर्गों का योग

उदाहरण

import java.io.*; 
import java.util.*; 

public class Demo { 
    public static int sumOfSquares(int val) { 
        return (val * (val + 1) / 2) * (2 * val + 1) / 3; 
    } 
    
    public static void main(String[] args) { 
        int val = 8; 
        System.out.println("पहले 8 प्राकृतिक संख्याओं के वर्गों का योग है: "); 
        System.out.println(sumOfSquares(val)); 
    } 
}

आउटपुट

पहले 8 प्राकृतिक संख्याओं के वर्गों का योग है 204

व्याख्या: Demo क्लास में 'sumOfSquares' नामक एक फंक्शन होता है। यह फंक्शन पहले 'n' प्राकृतिक संख्याओं को जोड़ने के लिए उपयोग किया जाता है। यह संख्याओं का योग लौटाता है। मुख्य फंक्शन में, 'n' के लिए एक मान परिभाषित किया जाता है और इस 'n' मान के साथ फंक्शन को कॉल किया जाता है। प्रासंगिक आउटपुट कंसोल पर प्रदर्शित होता है।

गणितीय फॉर्मूला:

Σ k² = n(n+1)(2n+1) / 6   k=1 से n तक

n=8 के लिए: 8×9×17/6 = 1224/6 = 204 ✓

सत्यापन:

1² + 2² + 3² + 4² + 5² + 6² + 7² + 8²
= 1 + 4 + 9 + 16 + 25 + 36 + 49 + 64
= 204 ✓

कार्यान्वयन विकल्प:

// 1. फॉर्मूला (O(1)) - ओवरफ्लो का ध्यान रखें
public static long sumOfSquaresFormula(long n) {
    return n * (n + 1) * (2 * n + 1) / 6;
}

// 2. लूप (O(n)) - सरल, कोई ओवरफ्लो चिंता नहीं छोटे n के लिए
public static long sumOfSquaresLoop(int n) {
    long sum = 0;
    for (int i = 1; i <= n; i++) sum += 1L * i * i;
    return sum;
}

// 3. स्ट्रीम (Java 8+)
public static long sumOfSquaresStream(int n) {
    return LongStream.rangeClosed(1, n).map(i -> i * i).sum();
}

// 4. BigInteger के साथ (बहुत बड़े n के लिए)
public static BigInteger sumOfSquaresBig(int n) {
    BigInteger N = BigInteger.valueOf(n);
    return N.multiply(N.add(BigInteger.ONE))
            .multiply(BigInteger.valueOf(2).multiply(N).add(BigInteger.ONE))
            .divide(BigInteger.valueOf(6));
}

ओवरफ्लो विचार:

  • int: n ≤ 181 तक सुरक्षित (181²×182×363/6 ≈ 2.1e9)
  • long: n ≤ 264,2245 तक सुरक्षित
  • BigInteger: कोई सीमा नहीं

संबंधित फॉर्मूला:

Σ k     = n(n+1)/2
Σ k²    = n(n+1)(2n+1)/6
Σ k³    = [n(n+1)/2]² = (Σ k)²
Σ k⁴    = n(n+1)(2n+1)(3n²+3n-1)/30
  1. C प्रोग्राम: पहले n प्राकृतिक संख्याओं के घन का योग C प्रोग्राम: पहले n प्राकृतिक संख्याओं के घन का योग

    इस समस्या में हम देखेंगे कि कैसे हम पहले n प्राकृतिक संख्याओं के घन का योग प्राप्त कर सकते हैं। यहां हम एक फॉर लूप का उपयोग कर रहे हैं, जो 1 से n तक चलता है। प्रत्येक चरण में हम पद के घन की गणना कर रहे हैं और फिर इसे योग में जोड़ रहे हैं। यह प्रोग्राम पूरा होने में O(n) समय लेता है। लेकिन अगर हम इ

  1. C++ में पहले n प्राकृतिक संख्याओं के वर्गों का योग C++ में पहले n प्राकृतिक संख्याओं के वर्गों का योग

    इस समस्या में हम देखेंगे कि पहले n प्राकृतिक संख्याओं के वर्गों का योग कैसे प्राप्त किया जा सकता है। यहां हम एक फॉर लूप का उपयोग कर रहे हैं, जो 1 से n तक चलता है। प्रत्येक चरण में हम पद का वर्ग निकाल रहे हैं और फिर इसे योग में जोड़ रहे हैं। यह प्रोग्राम पूरा होने में O(n) समय लेता है। लेकिन यदि हम

  1. - पायथन प्रोग्राम: पहले n नेचुरल नंबर्स के क्यूब्स का योग

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट – एक इनपुट n दिए जाने पर, हमें n-th टर्म तक सीरीज़ 1³ + 2³ + 3³ + 4³ + ... + n³ का योग प्रिंट करने की आवश्यकता है। यहां हम प्रॉब्लम स्टेटमेंट के समाधान तक पहुंचने के लिए दो दृष्टिकोणों