zoukankan      html  css  js  c++  java
  • Python和Java编程题(二)

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

    兔子的规律为数列1,1,2,3,5,8,13,21....

    题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html

    观察规律,可以发现,自从第三个月开始,每个月的兔子总数为前两个月兔子总数之和。

    Java实现

     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 }

    Python实现

     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))

    这道题主要是弄懂兔子成长规律,实现只需要递归计算即可

  • 相关阅读:
    快捷键
    mongoose--------ORM数据操作框架
    restful-----------------------------接口设计方式(一种风格)
    yarn========================(类似于node)
    npm
    nodejs笔记
    事件委托添加与移除
    JSON基础知识
    json字符串转换为json对象
    CSS3弹性盒模型
  • 原文地址:https://www.cnblogs.com/xiang9286/p/9678026.html
Copyright © 2011-2022 走看看