java基础练习—逢七游戏、不死神兔、百钱百鸡、利滚利

1、逢七游戏

逢七过。 规则是:从任意一个数字开始报数,当你要报的数字包含7或者是7 的倍数时都要说:过。 为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印出1-100之间的满足逢七必过 规则的数据。

package com.bdit;

public class Test3 {
    
    
    public static void main(String[] args) {
    
    
    //逢七跳过
        int c = 0;
        int b=0;
        for (int i = 1; i <= 100; i++) {
    
    

            if (i % 7 == 0  || i == 10 * b + 7) {
    
    
                System.out.print("");
            } else {
    
    
                System.out.print(i + " ");
            }
            c++;

            if (c==10) {
    
    
                System.out.println();
                c = 0;
                b+=1;
            }
        }
    }
}

2、不死神兔

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

package com.bdit;

public class Test4 {
    
    
    public static void main(String[] args) {
    
    

        //不死神兔
        //一、1
		//二、1
		//三、2
		//四、3
		//五、5
		//六、8
		//第三个月的对数是前两个月的和;
        int[] a=new int[20];
        a[0]=1;
        a[1]=1;
        for (int i = 2; i < a.length; i++) {
    
    
            a[i]=a[i-1]+a[i-2];
        }
        System.out.println(a[19]);
    }
}

3、百钱百鸡

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

package com.bdit;

public class Test5 {
    
    
    public static void main(String[] args) {
    
    

        //百钱百鸡
        //公鸡:gong,母鸡mu,鸡雏chu;
        int gong,mu;
        double chu;
        for ( gong = 1; gong <=20 ; gong++) {
    
    //100÷5=20
            for ( mu = 1; mu <=33 ; mu++) {
    
      //100÷3≈33
                chu=100-gong-mu;//一百只鸡减去公鸡和母鸡的数量就是鸡雏的数量
                if(5*gong+3*mu+(chu/3)==100 && chu%3==0){
    
    
                    System.out.println("公鸡:"+gong+",母鸡:"+mu+"鸡雏:"+chu);
                }
            }
        }

    }
}

4、利滚利

复利的力量:也就是『利滚利』。每年购买1万元理财产品,收益率为10%,输入年数,返回未来资产总值。 按步骤编写代码,效果如图所示:
在这里插入图片描述

开发提示: 利滚利,就是前一年的利息,计入下一年的本金,从而构成复利。
计算公式:
在这里插入图片描述

package com;

public class Demo10 {
    
    
    public static void main(String[] args) {
    
    
        
        System.out.println("第二十年末:" + demo1(20));
    }

    public static int demo1(int x) {
    
    

        //循环输出n次方
        double z = 1;
        for (int i = 1; i <= x; i++) {
    
    
            double y = 1 + 0.1;
            z *= y;
        }

        int c = 10000;
        System.out.println("第一年末:" + c);
        //计算利润公式,z是(1+利润)的n次方
        int a = (int) (c * (z - 1) / 0.1);
        for (int i = 1; i <= x; i++) {
    
    

            //前一年的利息,计入下一年的本金
            c += a; 
        }
        return a;
    }
}

猜你喜欢

转载自blog.csdn.net/vlucky_long/article/details/108300539