题目:有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#递归计算求阶乘和求年龄实例源码 1、n!=n*(n-1)*(n-2)*......*3*2*1 n!=n*(n-1)! 2、 趣味问题——年龄。有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个...
Java 递归的方法求年龄,一个有意思的数学问题:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。 public static void main(String[] args) { TestAge ta = new TestAge();//创建类的一个实例 ...
递归调用算年龄 汇编 成绩为优 课设参考的而好东西
有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁。问第4个人多少岁,他说比第3个人大2岁。问第3人多少岁,他说比第2个人大2岁。问第2个人多少岁,他说比第1个人...编写程序,当输入第几个人时求出其对应的年龄。
这段代码首先定义了一个`计算年龄`的函数,接受一个整数型参数`_年份`,然后根据递归逻辑计算年龄。在主程序中,用户输入出生年份,获取当前年份,然后调用`计算年龄`函数,最后输出结果。 递归算法的关键在于正确...
3. Fibonacci数列:递归求Fibonacci数列同样利用了递归思想。Fibonacci数列定义为`F(1)=1`, `F(2)=1`,后续项`F(n)`是前两项之和。递归公式为`F(n) = F(n-1) + F(n-2)`,递归调用直至n=1或2,然后逐级返回结果。 ...
递归调用也可以用来解决一些实际问题,例如计算一个人年龄的问题。例如: ```c int age(int n) { if (n == 1) return 10; else return age(n - 1) + 2; } ``` 这个函数将计算第n个人年龄,直到n为1时返回10岁。 ...
在这个主题“递归算法算岁数”中,我们主要探讨如何使用递归来计算一个人的年龄。 首先,我们需要理解递归的基本概念。递归由两部分组成:基本情况和递归情况。基本情况是问题可以直接解答的最简单形式,而递归情况...
在思考问题的例子中,描述了一个递归问题:求一组人中每个人的年龄,其中每个人比前一个人大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”压缩包中,我们可以推测它包含了一个使用易语言编写的程序,该程序运用了递归算法来计算人的年龄。递归算法是编程中的一种常见技巧,它通过函数或子程序调用自身来解决问题...
在计算年龄中,递归情况可能是出生年份小于当前年份,我们需要逐年减去,直到达到或超过当前年份。 在易语言中,我们可以创建一个函数,如`计算年龄`,接收出生年份作为参数。函数内部先检查出生年份是否大于或等于...
以题目中的人年龄问题为例,这是一个典型的递归问题。要找出第5个人的年龄,必须先知道第4个人的年龄,依此类推,直到第1个人的年龄已知。每个人比前一个人大2岁,这就是递归条件。可以定义一个递归函数来解决这个...
java基础编程:递归思想求解第5个人的年龄问题
- **例3**:求解年龄问题,`age()`函数根据第一个人的年龄递归计算第三个人的年龄。每次调用都根据前一个人的年龄加2来得到下一个人的年龄。 - **例4**:字符串输出的递归版本,`func1()`和`func2()`函数交替输出...
通过递归,我们可以轻易地找到任意n个人中的第n个人的年龄。 递推公式在ACM竞赛中尤其重要,因为它可以帮助我们简洁地描述复杂问题的解决方案。例如,斐波那契数列(Fibonacci sequence)就是一个经典的递推序列,...
在这个游戏中,教师可以问最后一个学生,即第五名学生,要求他计算他和他前面学生的年龄总和。为了计算这个总和,第五名学生需要向前面第四名学生提问,第四名学生需要向前面第三名学生提问,以此类推,直到第一个...
对于求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) ...