वर्गों का योग: Σ 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 के लिए तेज, ओवरफ्लो संभव |