一个整数,大于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;
		 }
		 
		 
	 }
}

 

posted @ 2018-04-30 21:48  雪落无痕1  阅读(943)  评论(0)    收藏  举报