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

PHP प्रोग्राम: पहले n नेचुरल नंबर्स के वर्गों का योग


वर्गों का योग: Σ i² (i=1 से n)

उदाहरण

<?php
function sum_of_squares($limit) {
    $ini_sum = 0;
    for ($i = 1; $i <= $limit; $i++) {
        $ini_sum += ($limit * $limit); // बग: $i के बजाय $limit उपयोग किया
    }
    return $ini_sum;
}

$limit = 5;
print_r("The sum of square of first 5 natural numbers is ");
echo sum_of_squares($limit);
?>

आउटपुट

The sum of square of first 5 natural numbers is 125

⚠️ कोड में बग

लूप में $limit * $limit (25) पांच बार जोड़ा गया = 125। सही लॉजिक $i * $i होना चाहिए।

सही गणना

पहले 5 नेचुरल नंबर्स के वर्ग: 1² + 2² + 3² + 4² + 5² = 1 + 4 + 9 + 16 + 25 = 55

सुधारा गया कोड

<?php
function sum_of_squares($limit) {
    $sum = 0;
    for ($i = 1; $i <= $limit; $i++) {
        $sum += $i * $i; // सही: $i का वर्ग
    }
    return $sum;
}

$limit = 5;
echo "Sum of squares (1 to $limit): " . sum_of_squares($limit); // 55
?>

गणितीय सूत्र (O(1))

पहले n नेचुरल नंबर्स के वर्गों का योग:

Σ i² = n(n+1)(2n+1)/6

<?php
function sum_of_squares_formula(int $n): int {
    return $n * ($n + 1) * (2 * $n + 1) / 6;
}

echo sum_of_squares_formula(5); // 55
echo sum_of_squares_formula(100); // 338350 (तत्काल)
?>

तुलना

विधिसमय जटिलताउपयोग
लूपO(n)सरल, समझने में आसान
सूत्रO(1)बड़े n के लिए तेज, ओवरफ्लो संभव
  1. C प्रोग्राम: पहले n प्राकृतिक संख्याओं के घन का योग C प्रोग्राम: पहले n प्राकृतिक संख्याओं के घन का योग

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

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

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

  1. - पहली n प्राकृतिक संख्याओं के वर्गों के योग और योग के वर्ग के बीच अंतर

    समस्या कथन एक दी गई संख्या n के साथ, पहली n प्राकृतिक संख्याओं के वर्गों के योग और योग के वर्ग के बीच अंतर ज्ञात करने के लिए एक प्रोग्राम लिखें। उदाहरण n = 3 पहली तीन संख्याओं के वर्ग = 3x3 + 2x2 + 1x1 = 9 + 4 + 1 = 14 पहली तीन संख्याओं के योग का वर्ग = (3 + 2 + 1)x(3 + 2 + 1) = 6x6 = 36 अंतर =