编写程序实现:输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n
时间: 2023-09-15 16:17:53 浏览: 170
好的,这是一个编程问题,我可以帮您解答。以下是一个Python的实现:
```
def calculate(n):
result = 0
for i in range(2, n+1, 2):
result += 1/i
return result if n % 2 == 0 else result + 1/n
n = int(input("请输入一个正整数n:"))
print(calculate(n))
```
当输入偶数时,函数会计算1/2 + 1/4 + ... + 1/n的结果,并将其返回;当输入奇数时,函数会计算1/1 + 1/3 + ... + 1/n的结果,并将其与1/n相加后返回。在主程序中,我们通过input函数获取用户输入的n,并调用calculate函数进行计算并输出结果。
相关问题
用java编写程序实现:输入n为偶数时,输出求1/2+1/4+…+1/n, 当输入n为奇数时,调用函数1/1+1/3+…+1/n。
好的,以下是用Java编写的程序实现:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
double sum = 0.0;
if (n % 2 == 0) {
for (int i = 2; i <= n; i += 2) {
sum += 1.0 / i;
}
} else {
sum = oddSum(n);
}
System.out.println(sum);
}
public static double oddSum(int n) {
double sum = 0.0;
for (int i = 1; i <= n; i += 2) {
sum += 1.0 / i;
}
return sum;
}
}
```
程序的运行过程如下:
1. 首先,我们需要创建一个Scanner对象来读取用户输入的n值。
2. 接着,我们定义一个double类型的变量sum来保存求和的结果。
3. 我们使用if语句来判断n的奇偶性。如果n是偶数,我们使用for循环来计算1/2+1/4+…+1/n的值,并将结果累加到sum中。如果n是奇数,我们调用oddSum(n)函数来计算1/1+1/3+…+1/n的值,并将结果赋给sum。
4. 最后,我们输出sum的值。
需要注意的是,当计算1/2+1/4+…+1/n时,我们需要使用1.0/i来将i转换为double类型,以免出现整数除法的问题。
Python编程题:编写一个函数当输入n为奇数时调用函数求1/1+1/3+……+1/n,输入n为偶数时调用函数求1/2+1/4+……+1/n
以下是Python代码:
```python
def sum_fraction(n):
if n % 2 == 1:
sum = 0
for i in range(1, n+1, 2):
sum += 1/i
return sum
else:
sum = 0
for i in range(2, n+1, 2):
sum += 1/i
return sum
```
解释:
- 函数名为 `sum_fraction`,输入参数为 `n`
- 如果输入的 `n` 是奇数,则使用 `for` 循环从 1 开始,每次加 2,累加分数的和
- 如果输入的 `n` 是偶数,则使用 `for` 循环从 2 开始,每次加 2,累加分数的和
- 最后返回分数的和
阅读全文