美文网首页基础编程50题
【习题23】每一层依次相加2

【习题23】每一层依次相加2

作者: Xplorist | 来源:发表于2017-03-26 18:52 被阅读18次

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

package com.share.test21_30;

/**
 * 【程序23】题目:<br>
 * 有5个人坐在一起,<br>
 * 问第五个人多少岁?他说比第4个人大2岁。<br>
 * 问第4个人岁数,他说比第3个人大2岁。<br>
 * 问第三个人,又说比第2人大两岁。<br>
 * 问第2个人, 说比第一个人大两岁。<br>
 * 最后问第一个人,他说是10岁。<br>
 * 请问第五个人多大?   
 * 
 * @author brx
 */
public class Test23 {
    public static void main(String[] args) {
        test();
    }
    /**
     * 思路1:<br>
     * 使用变量依次累积递变
     */
    public static void test(){
        int sum=10;
        for(int i=0;i<4;i++){
            sum+=2;
        }
        System.out.println("第5个人:"+sum+" 岁");
    }
    /**
     * 思路2:<br>
     * 使用递归,纯粹是锻炼思维,就是个累加的变体
     * @param n
     * @return
     */
    public static int test1(int n){
        int result=10;
        if(n>1){
            result=test1(n-1)+2;
        }
        return result;
    }
}

相关文章

网友评论

    本文标题:【习题23】每一层依次相加2

    本文链接:https://www.haomeiwen.com/subject/xdvkottx.html