Description
有一天,烟台大学来了一只心地善良又善于感化其他龟的小乌龟,为什么这么说呢,我们从一件事上就可以看出来:他喜欢收养无家可归的小乌龟,并且教导他们。他收养的小乌龟在他的教导下都和他一样心地善良又善于感化其他小乌龟。但是这只小乌龟有个规矩:只有在一个地方生活三年后才会收留其他小乌龟,并且以后每年收养一只。细心的他当然会把这个规矩教给他收养的小乌龟。(这么怪的规矩,看来乌龟的世界很复杂啊)那么问题来了,聪明的你知道N年后小乌龟家一共有多少只乌龟吗?快帮他算算吧。
Input
输入多组数据,N表示第几年(0<N<=20),当N=0是程序停止。
Output
输出N年后乌龟的总数
Sample Input
6 10 0
Sample Output
8 55
解析:题目中的描述不还很准确,应该是第三年就可以收养小乌龟,这样题目中的数据就变成了:
| 年数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 乌龟个数 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 |
典型的斐波那契数列。
AC代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
if (n ==0)
break;
long f[] = new long[n + 2];
f[0] = 1;
f[1] = 1;
if (n > 2)
for (int i = 2; i < n; i++)
f[i] = f[i - 1] + f[i - 2];
System.out.println(f[n - 1]);
}
}
}

本文介绍了一个关于乌龟收养的模拟问题,通过一个特定的收养规则,使用Java编程解决了一个数学序列问题,即计算N年后乌龟的总数。
2100

被折叠的 条评论
为什么被折叠?



