Python和Java编程题(二)
2021-06-22 17:06
标签:规律 ret main ati 题目 name 数列 bsp ref 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21.... 题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html 观察规律,可以发现,自从第三个月开始,每个月的兔子总数为前两个月兔子总数之和。 Java实现 Python实现 这道题主要是弄懂兔子成长规律,实现只需要递归计算即可 Python和Java编程题(二) 标签:规律 ret main ati 题目 name 数列 bsp ref 原文地址:https://www.cnblogs.com/xiang9286/p/9678026.html 1 public class TestRabbit {// TestRabbit类
2 public static void main(String args[]) {
3 TestRabbit tb = new TestRabbit();
4 int n=12;
5 int Sum = tb.Calculate(n);// n代表第个月
6 System.out.printf("第 %d个月的兔子总数为:%d",n,Sum);//格式化输出时使用printf
7 }
8
9 /*
10 * 计算每个月的兔子总数
11 */
12 public int Calculate(int j) {
13 if(j==1) {
14 return 1;
15 }else if(j==2) {
16 return 1;
17 }else {
18 return Calculate(j-1)+Calculate(j-2);// 递归计算
19 }
20 }
21 }
1 # -*- coding: utf-8 -*-
2
3 def CalculateRabbit(n):#计算每个月的兔子总数
4 if n == 1:
5 return 1
6 elif n == 2:
7 return 1
8 else:
9 return CalculateRabbit(n-1) + CalculateRabbit(n-2)
10
11 if __name__ == ‘__main__‘:
12 N = 12
13 Sum = 0
14 Sum = CalculateRabbit(N)
15 print(‘第 %s 个月的兔子总数为: %s‘ % (N,Sum))
上一篇:Java基础String的方法