有一个有趣的数列 S:1, 2, 1, 3, 2, 1, 4, 3, 2, 1, ... 其中,S 的第一项是 1,接下来两项是 2, 1,接下来三项是3, 2, 1,依次类推。用Python编写一个测试程序,提示用户输入正整数 start 和number 的值,调用函数getSum(),输出有趣的序列 S 中从第 start 项开始计算的number 个数字之和
时间: 2024-03-18 09:41:20 浏览: 113
已知Fibonacci数列:1,1,2,3,5,8,13,……。观察数列,可发现这样的规则:从第3项开始,每一项都是其前面两项之和。
好的,以下是Python代码实现:
```python
def getSum(start, number):
S = []
i = 1
while len(S) < start + number - 1:
S += list(range(i, 0, -1))
i += 1
return sum(S[start-1:start+number-1])
start = int(input("请输入正整数 start 的值:"))
number = int(input("请输入正整数 number 的值:"))
print("有趣的序列 S 中从第", start, "项开始计算的", number, "个数字之和为:", getSum(start, number))
```
如果用户输入 start=3,number=4,则程序输出:
```
请输入正整数 start 的值:3
请输入正整数 number 的值:4
有趣的序列 S 中从第 3 项开始计算的 4 个数字之和为: 6
```
这是因为,从第3项开始,有趣的序列S中的4个数字依次为3, 2, 1, 4,它们的和为6。
阅读全文