50道JAVA基础编程练习题全面解答.pdfVIP

  • 40
  • 0
  • 约5.45万字
  • 约 35页
  • 2019-04-18 发布于广东
  • 举报
50 道JAVA 基础编程练习题解答 【程序1】 题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到第 三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? .程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21 解答: (方法一) 利用数学分析可得知:这个月的兔子数量为前两个月的兔子数量之和,推导过程如下: X ,X ,X Y ,Y ,Y Z ,Z ,Z 1 2 3 1 2 3 1 2 3 X :表示一个月大的兔子;X 表示两个月大的兔子;X 表示三个月及三月以上的兔子。 1 2 3 有以下数学表达式: Y =X +X ,Y =X ,Y =X +X 1 2 3 2 1 3 2 3 Z =Y +Y ,Z =Y ,Z =Y +Y 1 2 3 2 1 3 2 3 Z +Z +Z = Y +Y +Y +(Y +Y )=(Y +Y +Y )+(X +X +X ) 1 2 3 2 3 1 2 3 2 3 1 2 3 1 因此上面每个月的兔子的数量满足斐波那契数列。编程实现较为简单,此处省略。 (方法二) 方法二利用编程实现,具有一般性(开始兔子个数和产仔周期可自行输入),程序设计如下: import java.util.*; import java.io.*; class TuZi { int nianling=1; } public class Text1 { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub int shuliang=1; int zhouqi=4; int yuefen=0; VectorTuZi rongqi=new VectorTuZi(); System.out.print(输入兔子开始数量:); BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); shuliang=(new Integer(stdin.readLine())); System.out.print(输入兔子生产周期:); zhouqi=(new Integer(stdin.readLine())); System.out.print(输入查询月份:); yuefen=(new Integer(stdin.readLine())); for(int i=1;i=shuliang;i++) { rongqi.addElement(new TuZi()); } for(int i=2;i=yuefen;i++) { for(int j=0;jrongqi.size();j++) { TuZi a=(TuZi)rongqi.elementAt(j); a.nianling++; } for(int j=0;jrongqi.size();j++) { if(rongqi.elementAt(j).nianling=zhouqi)

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档