用java从键盘上输入正整数n,利用递归方法求s-3+5+…+n 1.2 2n+1°
时间: 2023-11-20 21:05:40 浏览: 175
public class RecursionExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入正整数n:");
int n = scanner.nextInt();
double result = calculate(n);
System.out.println("结果为:" + result);
}
public static double calculate(int n) {
if (n == 1) {
return 1.0;
} else if (n % 2 == 0) {
return n / 2.0 + calculate(n - 2);
} else {
return 1.0 / n + calculate(n - 2);
}
}
}
相关问题
用java从键盘上输入正整数n,利用递归方法求s=1+3+5+7+…+ (2n+1)
以下是Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入正整数n:");
int n = sc.nextInt();
System.out.println("结果为:" + getSum(n));
}
public static int getSum(int n) {
if (n == 1) {
return 1;
} else {
return getSum(n - 1) + 2 * n - 1;
}
}
}
```
首先从键盘读取正整数n,然后调用getSum方法计算结果。getSum方法采用递归实现,当n等于1时,返回1;否则返回getSum(n - 1) + 2 * n - 1,即前n-1个奇数之和再加上第n个奇数。最终结果即为前n个奇数之和。
java利用递归方法求s=1+3+5+...+(2n+1)
好的,这是一个简单的递归题目。我们可以将这个问题分解成两个部分:求前n个奇数的和以及求第n个奇数。然后利用递归的思想进行求解。
具体实现如下:
```java
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int n = input.nextInt();
int s = sumOfOddNumbers(n);
System.out.println("s = " + s);
}
public static int sumOfOddNumbers(int n) {
if (n == 0) {
return 0;
} else {
return sumOfOddNumbers(n - 1) + 2 * n - 1;
}
}
}
```
我们定义一个静态方法 `sumOfOddNumbers(int n)`,它的功能是求前n个奇数的和。当n等于0时,返回0;否则,返回 `sumOfOddNumbers(n - 1) + 2 * n - 1`。这里的 `2 * n - 1` 就是第n个奇数。
最后,我们输入一个正整数n,调用 `sumOfOddNumbers(n)` 方法求解,并输出结果。
阅读全文