📜  前n个自然数的平方和

📅  最后修改于: 2021-04-26 06:10:35             🧑  作者: Mango

给定正整数n 。任务是找到前n个自然数的平方和的和。
例子 :

Input : n = 3
Output : 20
Sum of square of first natural number = 1
Sum of square of first two natural number = 1^2 + 2^2 = 5
Sum of square of first three natural number = 1^2 + 2^2 + 3^2 = 14
Sum of sum of square of first three natural number = 1 + 5 + 14 = 20

Input : n = 2
Output : 6

方法1:O(n)的想法是找到第一个自然数的平方和,其中1 <= i <= n。然后将它们全部添加。
我们可以通过以下公式找到前n个自然数的平方和:n *(n + 1)*(2 * n + 1)/ 6
以下是此方法的实现:

C++
// CPP Program to find the sum of sum of
// squares of first n natural number
#include 
using namespace std;
 
// Function to find sum of sum of square of
// first n natural number
int findSum(int n)
{
    int sum = 0;
    for (int i = 1; i <= n; i++)
        sum += ((i * (i + 1) * (2 * i + 1)) / 6);
    return sum;
}
 
// Driven Program
int main()
{
    int n = 3;
    cout << findSum(n) << endl;
    return 0;
}


Java
// Java Program to find the sum of
// sum of squares of first n natural
// number
 
class GFG {
     
    // Function to find sum of sum of
    // square of first n natural number
    static int findSum(int n)
    {
        int sum = 0;
        for (int i = 1; i <= n; i++)
            sum += ((i * (i + 1)
               * (2 * i + 1)) / 6);
        return sum;
    }
     
    // Driver Program
    public static void main(String[] args)
    {
        int n = 3;
     
        System.out.println( findSum(n));
    }
}
 
 
// This code is contributed by
// Arnab Kundu


Python3
# Python3 Program to find the sum
# of sum of squares of first n
# natural number
 
# Function to find sum of sum of
# square of first n natural number
def findSum(n):
    summ = 0
    for i in range(1, n+1):
        summ = (summ + ((i * (i + 1)
                * (2 * i + 1)) / 6))
    return summ
 
# Driven Program
n = 3
print(int(findSum(n)))
 
 
# This code is contributed by
# Prasad Kshirsagar


C#
// C# Program to find the sum of sum of
// squares of first n natural number
using System;
 
public class GFG {
     
    // Function to find sum of sum of
    // square of first n natural number
    static int findSum(int n)
    {
        int sum = 0;
        for (int i = 1; i <= n; i++)
            sum += ((i * (i + 1) *
                  (2 * i + 1)) / 6);
        return sum;
    }
     
    // Driver Program
    static public void Main()
    {
        int n = 3;
         
        Console.WriteLine(findSum(n));
    }
}
 
// This code is contributed by
// Arnab Kundu.


PHP


Javascript


C++
// CPP Program to find the sum of sum of
// squares of first n natural number
#include 
using namespace std;
 
// Function to find sum of sum of square
// of first n natural number
int findSum(int n)
{
    return (n * (n + 1) * (n + 1) * (n + 2)) / 12;
}
 
// Driven Program
int main()
{
    int n = 3;
    cout << findSum(n) << endl;
    return 0;
}


Java
// Java Program to find the sum of sum of
// squares of first n natural number
class GFG {
 
    // Function to find sum of sum of
    // square of first n natural number
    static int findSum(int n)
    {
        return (n * (n + 1) *
        (n + 1) * (n + 2)) / 12;
    }
     
    // Driver Program
    public static void main(String[] args)
    {
        int n = 3;
         
        System.out.println(findSum(n) );
    }
}
 
// This code is contributed by Arnab Kundu


Python3
# Python3 Program to find the sum
# of sum of squares of first n
# natural number
 
# Function to find sum of sum of
# square of first n natural number
def findSum(n):
    return ((n * (n + 1) * (n + 1)
                 * (n + 2)) / 12)
 
# Driven Program
n = 3
print(int(findSum(n)))
 
# This code is contributed by
# Prasad Kshirsagar


C#
// C# Program to find the sum of sum of
// squares of first n natural number
using System;
 
class GFG {
 
    // Function to find sum of sum of
    // square of first n natural number
    static int findSum(int n)
    {
        return (n * (n + 1) * (n + 1)
                     * (n + 2)) / 12;
    }
     
    // Driver Program
    static public void Main()
    {
        int n = 3;
         
        Console.WriteLine(findSum(n) );
    }
}
 
// This code is contributed by Arnab Kundu


PHP


Javascript


输出 :
20

时间复杂度:O(n)
辅助空间:O(1)
方法2:O(1)
数学上,我们需要找到Σ((i *(i + 1)*(2 * i + 1)/ 6),其中1 <= i <= n
所以,让我们解决这个总和,

Sum = Σ ((i * (i + 1) * (2*i + 1)/6), where 1 <= i <= n
    = (1/6)*(Σ ((i * (i + 1) * (2*i + 1)))
    = (1/6)*(Σ ((i2 + i) * (2*i + 1))
    = (1/6)*(Σ ((2*i3 + 3*i2 + i))
    = (1/6)*(Σ 2*i3 + Σ 3*i2 + Σ i)
    = (1/6)*(2*Σ i3 + 3*Σ i2 + Σ i)
    = (1/6)*(2*(i*(i + 1)/2)2 + 3*(i * (i + 1) * (2*i + 1))/6 + i * (i + 1)/2)
    = (1/6)*(i * (i + 1))((i*(i + 1)/2) + ((2*i + 1)/2) + 1/2)
    = (1/12) * (i * (i + 1)) * ((i*(i + 1)) + (2*i + 1) + 1)
    = (1/12) * (i * (i + 1)) * ((i2 + 3 * i + 2)
    = (1/12) * (i * (i + 1)) * ((i + 1) * (i + 2))
    = (1/12) * (i * (i + 1)2 * (i + 2))

以下是此方法的实现:

C++

// CPP Program to find the sum of sum of
// squares of first n natural number
#include 
using namespace std;
 
// Function to find sum of sum of square
// of first n natural number
int findSum(int n)
{
    return (n * (n + 1) * (n + 1) * (n + 2)) / 12;
}
 
// Driven Program
int main()
{
    int n = 3;
    cout << findSum(n) << endl;
    return 0;
}

Java

// Java Program to find the sum of sum of
// squares of first n natural number
class GFG {
 
    // Function to find sum of sum of
    // square of first n natural number
    static int findSum(int n)
    {
        return (n * (n + 1) *
        (n + 1) * (n + 2)) / 12;
    }
     
    // Driver Program
    public static void main(String[] args)
    {
        int n = 3;
         
        System.out.println(findSum(n) );
    }
}
 
// This code is contributed by Arnab Kundu

Python3

# Python3 Program to find the sum
# of sum of squares of first n
# natural number
 
# Function to find sum of sum of
# square of first n natural number
def findSum(n):
    return ((n * (n + 1) * (n + 1)
                 * (n + 2)) / 12)
 
# Driven Program
n = 3
print(int(findSum(n)))
 
# This code is contributed by
# Prasad Kshirsagar

C#

// C# Program to find the sum of sum of
// squares of first n natural number
using System;
 
class GFG {
 
    // Function to find sum of sum of
    // square of first n natural number
    static int findSum(int n)
    {
        return (n * (n + 1) * (n + 1)
                     * (n + 2)) / 12;
    }
     
    // Driver Program
    static public void Main()
    {
        int n = 3;
         
        Console.WriteLine(findSum(n) );
    }
}
 
// This code is contributed by Arnab Kundu

的PHP


Java脚本


输出:
20

时间复杂度:O(1)
辅助空间:O(1)