A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 744919632 中级黑马   /  2015-12-19 12:32  /  315 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

【程序23】
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
  
public class  Prog23{
  
    public static void main(String[] args){
  
        System.out.println(getAge(5,2));
  
    }
  
    //求第m位同志的年龄
  
    private static int getAge(int m,int n){
  
        if(m==1)
  
           return 10;
  
        else
  
           return getAge(m-1,n)+n;      
  
    }
  
}
  
【程序24】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
  
public class  Prog24{
  
    public static void main(String[] args){
  
        int n = Integer.parseInt(args[0]);
  
        int i = 0;
  
        int[] a = new int[5];
  
        do{
  
            a = n%10;
  
           n /= 10;
  
           ++i;
  
        }while(n!=0);
  
        System.out.print("这是一个"+i+"位数,从个位起,各位数字依次为:");
  
        for(int j=0;j<i;j++)
  
           System.out.print(a[j]+" ");
  
    }
  
}
  

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马