Java 递归数列
我想制作一个程序来输出这个数字序列:(2),(5),(11),(23),…Java 递归数列,java,recursion,sequence,Java,Recursion,Sequence,我想制作一个程序来输出这个数字序列:(2),(5),(11),(23),… 其中席=2×XI—1+1,X0=2。 这是我的密码: public static int num(int n){ if(n <= 0) return 2; else return ((2 * 2)+1); } publicstaticintnum(intn){ 如果(n很好地看到了您希望它是递归的,那么让我们使它递归
其中席=2×XI—1+1,X0=2。 这是我的密码:
public static int num(int n){
if(n <= 0)
return 2;
else
return ((2 * 2)+1);
}
publicstaticintnum(intn){
如果(n很好地看到了您希望它是递归的,那么让我们使它递归
public static int num(int n){
if(n <= 0)
return 2;
else
return (2 * num(n-1))+1; //Recursive call here
}
return((2*num(n-1))+1);
检查您返回的内容,您应该在那里使用n
所以return((2*2)+1);
应该是return((2*num(n-1))+1);
@AnandShah谢谢,谢谢您的解释:)
public static void main(String[] args){
for(int i = 0; i < 10; i++){
System.out.println("num(" + i + ")=" + num(i));
}
}
num(0)=2
num(1)=5
num(2)=11
num(3)=23
num(4)=47
num(5)=95
num(6)=191
num(7)=383
num(8)=767
num(9)=1535