Java基础算法题(23):有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个

查看所有50道基础算法题请看:

Java的50道基础算法题

有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

package Demo23How_Old;
public class How_Old {
    /**
     * 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。
     * 问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。
     * 请问第五个人多大?
     */
    /*
    分析:这道题,看起来很吓人,其实很简单,基本上遇到这样的题,要么用递归,要么用逆向思维计算
         在这里我们用递归来做吧:除了第一个人,没个人的年龄都是前一个人的年龄加二。
     */
    public static void main(String[] args) {
        int olds = olds(5);
        System.out.println(olds);
    }
    /**
     * 定义一个递归方法来计算某人的岁数
     * @param w
     * @return
     */
    public static int olds(int w){
        if(w==1){
            return 10;
        }else{
            return olds(w-1)+2;
        }
    }
}
发布了54 篇原创文章 · 获赞 1 · 访问量 2306

猜你喜欢

转载自blog.csdn.net/weixin_44803446/article/details/105355109
今日推荐