第一个n个自然数平方和的Python计算程序

第一个n个自然数平方和的Python计算程序

在本教程中,我们将学习如何使用Python计算前n个自然数的平方和。”

我们有一个正整数“N”,我们的任务是计算(1 2 + 2 2 + 3 2 + 4 2 + 5 2 +… + N 2 )

示例:

Input: N = 6
Output: 91 
12 + 22 + 32 + 42 + 52 + 62 
= 1 + 4 + 9 + 16 + 25 +36
= 91

Input:  N = 2
Output: 5
12 + 22
= 1 + 4
= 5

方法 1: O(N)

在这种方法中,用户必须从1到”N”自然数运行循环,并且对于每个K,1 <= K <= N。用户必须找到K的平方来计算总和。

示例:

# First, we will create a function 
# which will return the sum of
# squares of first "NN"
# natural numbers
def square_sum(NN) :

    # here, we will iterate K from 1 
    # and NN for finding 
    # the square numbers from K to NN and
    # then add to sum.
    sum_1 = 0
    for K in range(1, NN + 1) :
        sum_1 = sum_1 + (K * K)

    return sum_1

# Driven Program
NN = int (input ("Please enter the 'N' natural number: "))
print (square_sum(NN)

输出:

Please enter the 'N' natural number:  56
60116

方法2: O(1)

使用这种方法,用户可以使用以下公式计算前”N”个自然数的平方和:

(NN * (NN + 1) * (2 * NN + 1)) / 6

例如:

For NN = 6, sum_1 = (6 * (6 + 1) * (2 * 6 + 1)) / 6
            = (6 * (7) * (13)) / 6
            = (546) / 6
            = 91
For NN = 56, sum_1 = (56 * (56 + 1) * (2 * 56 + 1)) / 6
              = (56 * (57) * (113)) / 6
              = (3,60,696) / 6
              = 60116

代码:

# First, we will create a function 
# which will return the sum of
# squares of first "NN"
# natural numbers
def square_sum(NN) :
    return (NN * (NN + 1) * (2 * NN + 1)) // 6

# Driven Program
NN = int( input("Please enter the 'N' natural number: "))
print (square_sum(NN))

输出:

Please enter the 'N' natural number:  87
223300

如何避免早期溢出:

对于大的”NN”自然数,[(NN * (NN + 1) * (2 * NN + 1)) / 6]的值可能会溢出。用户可以通过使用(NN * (NN + 1))必须可被2整除的事实来避免这种情况。

示例:

# First, we will create a function 
# which will return the sum of
# squares of first "NN"
# natural numbers

def square_sum(NN):
    return (NN * (NN + 1) * (2 * NN + 1)) // 3

# Driven Program
NN = int( input("Please enter the 'N' natural number: "))
print (square_sum(NN))

输出:

Please enter the 'N' natural number:  567
121844520

结论

在本教程中,我们使用Python解释了两种计算”N”个自然数平方和的方法,并避免了代码溢出。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程