JAVA--算法与数据结构- 逢7过&百钱白鸡&不死神兔【1/100】

1、逢7过

/*
*   数据范围 1- 100
*     碰到能被7整除或者包含7都过
* */
public class MeetSeven
{
    public static void main(String[] args) {
        // 数据在1-100之间
        for (int i = 1; i <= 100; i++) {
            if(i%10 == 7 || i/10%10 == 7 || i%7 == 0)
//                System.out.println(i);
                System.out.println("过:" + i);
        }

    }
}

2、百钱白鸡

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

    public static void main(String[] args) {
        /*
        *   鸡翁 x
        *   鸡母 y
        *   鸡雏 z
        * */

        for (int x = 0; x <= 20; x++) {
            for (int y = 0; y <= 33; y++) {
                int z = 100 - x -y;
                if(z%3 == 0 && 5*x + 3*y + z/3 == 100){
                    System.out.println("x:"+ x + "; y: " + y + "; z :" + z);
                }
            }
        }
    }
}

3、不死神兔

/*
*   有一对兔子,从出生后第三个月起每个月都生一对兔子,
*   小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,
*   问第二十个月的兔子对数为多少?
*
      第几个月 兔子对数	            为什么
        1	    1	            原来有一对兔子,编号a
        2	    1	            原来有一对兔子,编号a
        3	    2	            第3个月生了一对小兔子,编号b
        4	    3	            原来老兔子a继续生小兔子,编号c
        5	    5	            编号b的兔子成熟,和老兔子一起生小兔子,编号d、e
        6	    8	            a、b、c一起生兔子,编号f、g、h
        7	    13	            a、b、c、d、e一起生兔子,编号i、j、k、l、m
* */
public class NoDieRabbit {
    public static void main(String[] args) {
        /*菲波那切数列*/
        //  1、动态初始化一个数组
        int[] arr = new int[20];

        //  2、已知
        arr[0] = 1;
        arr[1] = 1;

        //  3、用循环实现计算每个月兔子数
        for (int i = 1; i < arr.length -1 ; i++) {
            arr[i+1] = arr[i] + arr[i-1];
//            System.out.println( (i + 1) + ":" + arr[i]);
        }

        System.out.println("第20个月:" + arr[arr.length - 1]);
    }
}

posted @ 2020-06-06 14:07  CNYangx  阅读(716)  评论(1编辑  收藏  举报