📅  最后修改于: 2023-12-03 15:07:17.271000             🧑  作者: Mango
计算前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个数进行连续的累加运算。