`
lovelimx
  • 浏览: 20511 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

递归求年龄

    博客分类:
  • java
 
阅读更多

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

 

建立一个People类:

 

package com.edu.jmu.classical;

public class People {

	private int id;
	private int age;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public People(int id, int age) {
		this.id = id;
		this.age = age;
	}

	public People(int id) {
		this.id = id;
	}

	public int older(People people) {
		if (people.getId() == 1) {
			return 10;
		} else {
			int id = people.getId() - 1;
			return 2 + this.older(new People(id));
		}
	}

}

 

再建立一个测试类TestPeople:

 

package com.edu.jmu.classical;

public class TestPeople {
	public static void main(String[] args) {
		People people = new People(5);
		System.out.println(people.older(people));
	}
}

 

结果输出:

 

18

分享到:
评论

相关推荐

    计算机原理.课程设计递归求年龄

    课程设计递归求年龄”的问题中,我们需要编写一个递归程序来解决一个关于年龄的问题。这个问题涉及到五个人,每个人比前一个人大两岁,而第一个人的年龄已知为10岁。我们要找到第五个人的年龄。 首先,让我们理解...

    C#递归计算求阶乘和求年龄实例源码

    C#递归计算求阶乘和求年龄实例源码 1、n!=n*(n-1)*(n-2)*......*3*2*1 n!=n*(n-1)! 2、 趣味问题——年龄。有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个...

    Java 递归的方法求年龄.rar

    Java 递归的方法求年龄,一个有意思的数学问题:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。  public static void main(String[] args) {   TestAge ta = new TestAge();//创建类的一个实例   ...

    用递归调的方法计算年龄 汇编

    递归调用算年龄 汇编 成绩为优 课设参考的而好东西

    递归解决年龄问题.txt

    有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁。问第4个人多少岁,他说比第3个人大2岁。问第3人多少岁,他说比第2个人大2岁。问第2个人多少岁,他说比第1个人...编写程序,当输入第几个人时求出其对应的年龄。

    易语言递归算法算岁数

    这段代码首先定义了一个`计算年龄`的函数,接受一个整数型参数`_年份`,然后根据递归逻辑计算年龄。在主程序中,用户输入出生年份,获取当前年份,然后调用`计算年龄`函数,最后输出结果。 递归算法的关键在于正确...

    函数递归与调用.pdf

    3. Fibonacci数列:递归求Fibonacci数列同样利用了递归思想。Fibonacci数列定义为`F(1)=1`, `F(2)=1`,后续项`F(n)`是前两项之和。递归公式为`F(n) = F(n-1) + F(n-2)`,递归调用直至n=1或2,然后逐级返回结果。 ...

    C语言函数递归调用PPT课件.pptx

    递归调用也可以用来解决一些实际问题,例如计算一个人年龄的问题。例如: ```c int age(int n) { if (n == 1) return 10; else return age(n - 1) + 2; } ``` 这个函数将计算第n个人年龄,直到n为1时返回10岁。 ...

    递归算法算岁数.rar

    在这个主题“递归算法算岁数”中,我们主要探讨如何使用递归来计算一个人的年龄。 首先,我们需要理解递归的基本概念。递归由两部分组成:基本情况和递归情况。基本情况是问题可以直接解答的最简单形式,而递归情况...

    VB函数递归与调用实用教案.pptx

    在思考问题的例子中,描述了一个递归问题:求一组人中每个人的年龄,其中每个人比前一个人大2岁。这个问题可以通过递归解决,因为每个人的年龄都可以通过前一个人的年龄计算得出。递归公式为: - 当n=1时,age(n)=10...

    汇编语言 递归调用计算最大兄弟的年龄 自己编的

    自己编的,真的费了很大的劲儿~~很有有用的,计算机的朋友看看 吧

    递归算法的探讨

    求第5个人的年龄。 这个问题可以通过递归来描述:\[age(n) = \begin{cases} 10 & n = 1 \\ age(n-1) + 2 & n > 1 \end{cases}\] 为了求解这个问题,我们可以使用母函数方法。首先定义母函数\(G(x) = \sum_{n=1}^{\...

    易语言源码递归算法算岁数.7z

    在给定的“易语言源码递归算法算岁数.7z”压缩包中,我们可以推测它包含了一个使用易语言编写的程序,该程序运用了递归算法来计算人的年龄。递归算法是编程中的一种常见技巧,它通过函数或子程序调用自身来解决问题...

    递归算法算岁数-易语言

    在计算年龄中,递归情况可能是出生年份小于当前年份,我们需要逐年减去,直到达到或超过当前年份。 在易语言中,我们可以创建一个函数,如`计算年龄`,接收出生年份作为参数。函数内部先检查出生年份是否大于或等于...

    VB函数递归与调用PPT学习教案.pptx

    以题目中的人年龄问题为例,这是一个典型的递归问题。要找出第5个人的年龄,必须先知道第4个人的年龄,依此类推,直到第1个人的年龄已知。每个人比前一个人大2岁,这就是递归条件。可以定义一个递归函数来解决这个...

    java基础编程:递归思想求解第5个人的年龄问题

    java基础编程:递归思想求解第5个人的年龄问题

    C语言函数递归调用PPT学习教案.pptx

    - **例3**:求解年龄问题,`age()`函数根据第一个人的年龄递归计算第三个人的年龄。每次调用都根据前一个人的年龄加2来得到下一个人的年龄。 - **例4**:字符串输出的递归版本,`func1()`和`func2()`函数交替输出...

    acm课件3 递归求解

    通过递归,我们可以轻易地找到任意n个人中的第n个人的年龄。 递推公式在ACM竞赛中尤其重要,因为它可以帮助我们简洁地描述复杂问题的解决方案。例如,斐波那契数列(Fibonacci sequence)就是一个经典的递推序列,...

    C语言中递归调用的教学设计.pdf

    在这个游戏中,教师可以问最后一个学生,即第五名学生,要求他计算他和他前面学生的年龄总和。为了计算这个总和,第五名学生需要向前面第四名学生提问,第四名学生需要向前面第三名学生提问,以此类推,直到第一个...

    Java程序设计基础:调用方法-方法的递归调用.pptx

    对于求1到n的和问题,也可以使用递归来解决。 - **递归基**:`n == 1` 时,`sum(1) = 1` - **递归体**:`n > 1` 时,`sum(n) = n + sum(n-1)` 代码示例: ```java public static int sum(int n) { if (n == 1) ...

Global site tag (gtag.js) - Google Analytics