1.编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n, 当输入n为奇数时,调用函数1/1+1/3+...+1/n
时间: 2023-11-04 12:04:37 浏览: 78
Sure, 我可以为你解决这个问题。请看下面的函数实现:
```
def calc_fraction(n):
if n % 2 == 0:
return sum([1/i for i in range(2, n+1, 2)])
else:
return sum([1/i for i in range(1, n+1, 2)])
```
当输入一个偶数n,我们就把分母从2开始到n,每个偶数取它的倒数,最后相加得到答案。如果输入是奇数n,我们就把分母从1开始到n,每个奇数取它的倒数,最后相加得到答案。
使用方法:
```
# n为偶数
print(calc_fraction(6)) # 输出1.7
# n为奇数
print(calc_fraction(5)) # 输出1.5333333333333332
```
相关问题
1. 编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+..+1/。
这是一个简单的Python函数,它利用了条件语句来实现根据输入n的奇偶性计算不同的序列:
```python
def calculate_sum(n):
if n % 2 == 0: # 如果n是偶数
sum_series = sum(1 / i for i in range(2, n + 1, 2)) # 计算从2到n的所有偶数倒数之和
else: # 如果n是奇数
sum_series = sum(1 / i for i in range(1, n + 1, 2)) # 计算从1到n的所有奇数倒数之和
return sum_series
# 示例:
print(calculate_sum(6)) # 输出1/2 + 1/4 + ... + 1/6 的和
print(calculate_sum(5)) # 输出1/1 + 1/3 + ... + 1/5 的和
```
在这个函数中,我们使用了列表推导式生成了一个序列,然后使用`sum()`函数求出它们的和。`range(2, n + 1, 2)` 或 `range(1, n + 1, 2)` 分别用于生成偶数或奇数序列。
用C#编写一个函数,输入n为偶数时,调用函数求1 /2 + 1 / 4 + ...+1 / n当输入n为奇数时,调用函数1 / 1 + 1 /3 + ...+1 / n
当输入n为偶数时,调用函数求 1/2 + 1/4 + ... + 1/n 的 C# 代码如下:
```csharp
public double CalculateSumOfEvenNumbers(int n)
{
double sum = 0;
for (int i = 2; i <= n; i += 2)
{
sum += 1.0 / i;
}
return sum;
}
```
当输入n为奇数时,调用函数 1/1 + 1/3 + ... + 1/n 的 C# 代码如下:
```csharp
public double CalculateSumOfOddNumbers(int n)
{
double sum = 0;
for (int i = 1; i <= n; i += 2)
{
sum += 1.0 / i;
}
return sum;
}
```
你可以根据需要调用这两个函数来计算对应的求和结果。
阅读全文