如何编写一个程序来计算给定自然数 n (用户通过键盘输入) 对应的等差数列之和 s = 1 + (1+2) + ... + (1+2+3+...+n),并确保程序的正确性和有效性?
时间: 2024-11-24 17:19:23 浏览: 13
为了编写这样一个程序,首先需要明确该等差数列实际上是两个等差数列相加的结果:一个是首项为1,公差为1的等差数列,另一个是前n个自然数之和形成的等差数列。我们可以通过循环和数学公式来实现这个计算。
下面是一个用Python编写的示例:
```python
def sum_of_sequences(n):
# 计算前n个自然数之和
partial_sum_n = sum(range(1, n + 1))
# 计算首项为1,公差为1的等差数列前n项和
arithmetic_sum = n * (1 + n) // 2
# 将两者相加得到最终结果
total_sum = partial_sum_n + arithmetic_sum
return total_sum
# 获取用户输入的自然数n
n = int(input("请输入一个自然数:"))
# 调用函数计算和并打印结果
result = sum_of_sequences(n)
print(f"给定自然数{n}对应的等差数列之和是 {result}")
阅读全文