一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n的顺序递增,当值大于5000时,把值按照指定顺序输出来。第1个人10,第2个比第1个人大2岁,依次递推,请用递归方式计算出第8个人多大?
一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n的顺序递增,当值大于5000时,把值按照指定顺序输出来。
例:n=1237
则输出为:
1237,
2474,
4948,
9896,
9896,
4948,
2474,
1237,
一般都是递归,自己调用自己代替 循环,值大于5000 是调用的值,写程序时候先写递增,再次写递减。
public class A {
public static void main(String[] args) {
count(1237);
}
public static void count(int n) {
System.out.println(n);
if (n <= 5000) {
n*=2;
count(n);
n/=2;
}
System.out.println(n);
}
}
2.
第1个人10,第2个比第1个人大2岁,依次递推,请用递归方式计算出第8个人多大?
public class A {
public static void main(String[] args) {
int age=countAge(8);
System.out.println(age);
}
public static int countAge(Integer n){
if(n==1){
return 10;
}else{
return countAge(n-1)+2;
}
}
}

浙公网安备 33010602011771号