美文网首页
【从零开始学Java】学习笔记day011练习

【从零开始学Java】学习笔记day011练习

作者: 蝴蝶的眼睛 | 来源:发表于2020-04-11 20:24 被阅读0次

    练习一

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

     请定义方法实现该功能,第n个月由方法的调用者传入,返回该月的兔子对数。调用方法查看结果。

    分析:第n个月出生的兔子在n+2个月开始生育,那么第n+2个月的兔子总数为第n天兔子总数(n+2天新出生的兔子数量)和第n+1兔子总数(n+2天非新生兔子的数量)天的和。得到递推公式num(n)=num(n-1)+num(n-1);num(1)=num(2)=1用递推公式和前两项求末项

    import java.util.Scanner;

    public class Test411 { 

       public static void main(String[] args) {   

         Scanner sc=new Scanner(System.in);      

      System.out.println(rabbit(sc.nextInt()));//方法一       

     System.out.println(count(sc.nextInt()));//方法二    

    }   

     //方法一:循环+数组     

       public static  int rabbit(int month){   

         int[] numList=new int[month];//创建月份长度的数组,充当数列        

    numList[0]=numList[1]=1;//两项值已知         

       for (int i = 2; i < numList.length; i++) {      

              numList[i]=numList[i-1]+numList[i-2];//依次求下一月的数量     

           }         

       return numList[month-1];//输出末项值     

       }

    //方法二:递归

    public static int count(int n){    

    if (n==1||n==2){    

        return 1;//前两项值赋值 

       }    

    return count(n-1)+count(n-2);//递推公式会反复调用count直到n-2=1}

    }

    练习二

     我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。​ 百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

    分析:看到题之后懵了好久,因为正常人来做这道题肯定是解方程组x+y+z=100&&5x+3y+1/3z==100,但我完全想不出来怎么编程解决。

    后来想到可以挨个试,于是写出了三层循环挨个试三种鸡的个数,满足条件再输出,这个方法速 度偏慢,于是简化方程为 14x+8y=200&&z=100-x-y,两层循环先求出xy

    public class Test411 {

        public static void main(String[] args) {  

          chikenNum();   

     }

    public static void chikenNum(){  

     a:   for (int cock=1;cock<20;cock++){//第一层循环,挨个试x    

        for ( int len=1;len<34;len++){//第二层循环挨个试y     

               if (14*cock+8*len==200){//满足条件输出              

          System.out.println("鸡翁:"+cock);      

                  System.out.println("鸡母:"+len);       

                 System.out.println("鸡雏:"+(100-cock-len));

    break;     

           }     

       }

        }

    }

    }

    相关文章

      网友评论

          本文标题:【从零开始学Java】学习笔记day011练习

          本文链接:https://www.haomeiwen.com/subject/igkpmhtx.html