java编程利用递归方法求s=1+3+5+...+(2n+1)
时间: 2023-11-14 22:06:01 浏览: 237
pat1-12题通过的代码
利用递归方法求s=1+3+5+...+(2n+1)的Java代码有两种实现方式:
1. 第一种方式是在一个静态方法中使用递归,代码如下:
```
public static int sum(int n){
if(n >= 1){
return (2 * n + 1) + sum(n - 1);
}
return 0;
}
public static void main(String[] args) {
System.out.println("sum = " + sum(50));}
```
2. 第二种方式是在一个实例方法中使用递归,代码如下:
```
public class Test {
int sum = 0;
int a = 1;
public void sum() {
sum += a;
a = a + 2;
if(a <= 2 * n + 1) {
sum();
}
}
public static void main(String[] args) {
Test test = new Test();
test.sum();
System.out.println("计算结果:" + test.sum + "!");
}
}
```
其中,第一种方式是在一个静态方法中使用递归,每次递归时将当前的奇数加上前面所有奇数的和,直到n为1时结束递归。第二种方式是在一个实例方法中使用递归,每次递归时将当前的奇数加上前面所有奇数的和,直到a大于2n+1时结束递归。
阅读全文