📜  前n个自然数的平方和(1)

📅  最后修改于: 2023-12-03 15:07:17.271000             🧑  作者: Mango

前n个自然数的平方和

计算前n个自然数的平方和是大多数入门级编程语言的第一个练手项目。它不仅有助于熟悉基本的语法和循环结构,还能让你理解算法和数学运算的原理。代码实现也非常简单,只需要一个循环和一个计数器变量即可。下面是Python实现这个问题的示例代码:

def sum_of_squares(n):
    """
    计算前n个自然数的平方和
    """
    result = 0
    for i in range(1, n+1):
        result += i**2
    return result

上面的代码使用了Python内置的range()函数来生成从1到n的自然数序列,然后通过循环和幂运算来计算每个数的平方和。最后将结果返回。这个函数可以计算任何正整数n的平方和,使用方法如下:

>>> sum_of_squares(5)
55
>>> sum_of_squares(10)
385

接下来是该函数的C语言实现示例。由于C语言没有Python中的“从1到n的自然数序列”这种语法结构,所以需要使用循环计算:

#include <stdio.h>

int sum_of_squares(int n) {
    int result = 0;
    for (int i = 1; i <= n; i++) {
        result += i * i;
    }
    return result;
}

int main() {
    printf("%d\n", sum_of_squares(5));
    printf("%d\n", sum_of_squares(10));
    return 0;
}

以上是两个常见的实现方式,当然还有其他不同风格和语言的代码,例如递归式实现、使用函数式编程范式实现等等。无论使用何种方式,本算法的时间复杂度都是线性的O(n),因为需要对n个数进行连续的累加运算。