Python 计算 1^2 + 2^2 + ... + n^2 的和
Python 计算 1^2 + 2^2 + ... + n^2 的和
题目要求计算 1^2 + 2^2 + ... + n^2 的值。
解题思路
- 首先,我们可以使用一个循环从 1 遍历到 n,每次将当前数的平方加到结果中。
- 注意,题目给出的 n 的范围非常大,因此我们需要使用一种高效的方法来计算结果。
具体实现步骤如下:
- 读取输入的 n。
- 初始化一个变量 sum 为 0,用于保存结果。
- 使用一个循环从 1 遍历到 n,每次将当前数的平方加到 sum 中。
- 输出 sum 的值。
Python 代码实现如下:
n = int(input())
sum = 0
for i in range(1, n + 1):
sum += i ** 2
print(sum)
时间复杂度分析
- 由于循环从 1 到 n,因此时间复杂度为 O(n)。
- 由于题目给出的 n 的范围非常大,因此需要考虑使用更高效的方法来计算结果。
注意: 由于题目给出的 n 的范围非常大,上述代码可能会出现效率问题。为了提高代码效率,可以使用数学公式直接计算结果。公式如下:
1^2 + 2^2 + ... + n^2 = n(n + 1)(2n + 1) / 6
使用该公式可以将时间复杂度降低到 O(1)。
原文地址: https://www.cveoy.top/t/topic/pHiB 著作权归作者所有。请勿转载和采集!