键盘输入正整数n,当n是偶数时,输出1/2+1/4+…+1/n之和;当n是奇数时,输出1+1/3+1/5+…+1/n之和。要求编制子函数实现求和运算。
时间: 2023-06-05 11:47:33 浏览: 167
CC++全排列..1--n的全排列以及字符串的全排列
题意:
给定一个正整数n,当n为偶数时,输出1/2+1/4+…+1/n的和;当n为奇数时,输出1+1/3+1/5+…+1/n的和。要求编写子函数实现求和运算。
解答:
首先,我们需要编写一个子函数用来计算一个分数序列的和。这个子函数的参数为分母n,返回值为该分数序列的和。可以使用一个for循环遍历分数序列,累加每一个分数的值。具体实现代码如下:
def sum_of_sequence(n):
s = 0
for i in range(1, n+1):
s += 1/i
return s
接着,根据题意,我们需要判断n的奇偶性并分别计算对应的分数序列的和。可以使用if语句来实现。
def sum_of_fractions(n):
if n % 2 == 0:
s = sum_of_sequence(n)
else:
s = sum_of_sequence(n) - 1/(n+1)
return s
最后,我们可以使用上面的函数来实现题目要求的输出。
n = int(input("请输入正整数n:"))
if n % 2 == 0:
s = sum_of_fractions(n)
print(s)
else:
s = sum_of_fractions(n)
print(s+1)
阅读全文