循环结构练习

目录

01:求10以内的偶数的和。

02:求100以内的所有素数

03:随机产生一个1-100之间的整数,看能几次猜中。要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。

04:写一个方法,此方法实现输出100-999之间的水仙花数。

05:输出小写的a-z以及大写的在Z—A

06:求出1-3+5-7+9-…..101的和

07:求出1-1/2+1/3-1/4…..1/100的和

08:输出20-80之间能被3整除的整数,每5个一行

09:打印出1000-2000年中所有的闰年,并以每行四个数的形式输出

10:定义两个整数a、b,a、b的取值范围在0-9之间,给出所有符合a+b=12的组合。

11:A、B、C、D分别为0——9之间的整数,求出满足AB+CD=DA条件的数。

12:随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么

13:输出九九乘法表

14:使用Java实现输出如下图形。

15:实现双色球的彩票功能。规则:从36个红球中随机选择不重复的6个数,从15个篮球中随机选择1个组成一注彩票。可以选择买多注。

16:输出1-100之间的不能被5整除的数,每5个一行。

17:输出斐波那契数列数列的前20项

18:输出一个整数的二进制数、八进制数、十六进制数。

19:随机产生一个字母,如果是大写字母则输出“yes”,否则输出“no”

20:随机产生一个字符,判断:如果为大写字母则输出“大写字母”;如果为小写字母则输出“小写字母”;否则怎输出“其他字符”;

21:求100到1000之间的所有能被5和6整除的整数,每行显示5个

22:求和:1/3+3/5+5/7+7/9+………..+97/99

23:输出100以内的所有素数,每行显示5个;并求和。

24:山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸挑满?通过编程解决这个问题。

25:李白无事街上走,提壶去买酒。遇店加一倍,见花喝一斗,五遇花和店,喝光壶中酒,试问李白壶中原有多少斗酒?(使用for循环结构编程实现)

26:开发一个标题为“FlipFlop”的游戏应用程序。它从1计数到100,遇到3的倍数就替换为单词“Flip”,5的倍数就替换为单词“Flop”,既为3的倍数又为5的倍数则替换为单词“FlipFlop”。

27:生成13位条形码

28:求两个整数的最大公约数和最小公倍数

29:将100元兑换为1元、5元、10元的零钱,请问有多少种兑换方法?

30:用100元人民币兑换10元,5元,1元的纸币(每种都要有)共50张,计算有多少种兑换方案

31:设计Java程序,假设有50瓶饮料,喝完3个空瓶可以换一瓶饮料,依次类推,请问总共喝了多少瓶饮料?


01:求10以内的偶数的和。

package com.textday002;

public class WorkBook{
    public static void main(String[] args) {
//        01:求10以内的偶数的和。
        int sum=0;
        for(int i=0;i<=10;i++ ){
            if(i%2==0)
                sum+=i;
        }
        System.out.println("10以内的偶数的和:"+sum);
    }
}

02:求100以内的所有素数

(素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除)

package com.textday002;

public class WorkBook{
    public static void main(String[] args) {
//      02:求100以内的所有素数
//     (素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除)
        int i,j,count=0;
        for(i=2;i<=100;i++){
            for(j=2;j<=i/2;j++){
                if(i%j==0){
                    break;
                }
            }
            if(j>i/2){
                count++;
                System.out.println(i+"是素数");
            }
        }
        System.out.println("素数共有:"+count+"个");
    }
}

03:随机产生一个1-100之间的整数,看能几次猜中。要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。

package com.textday002;

import java.util.Scanner;

public class WorkBook{
    public static void main(String[] args) {
//     03:随机产生一个1-100之间的整数,看能几次猜中。
//     要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。
        System.out.println("你猜的次数不能超过7次");
        int number= (int) (Math.random()*100+1);
        Scanner scan= new Scanner(System.in);
        int number1;
        int i;
        for(i=1;i<=7;i++){
            System.out.print("请输入你第"+i+"次猜的数:");
            number1=scan.nextInt();
            if(number == number1){
                System.out.println("恭喜你第"+i+"次猜中了");break;
            }else if(number>number1){
                System.out.println("小了");
            }else{
                System.out.println("大了");
            }
        }
        if(i==7)
            System.out.println("很遗憾你7次都没猜中");
        System.out.println("程序结束");
    }
}

04:写一个方法,此方法实现输出100-999之间的水仙花数。

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

//     04:写一个方法,此方法实现输出100-999之间的水仙花数。

        for(int i=100;i<1000;i++){

            int ge=i%10,shi =i/10%10,bai = i/100%10;

            if(Math.pow(ge,3)+Math.pow(shi,3)+Math.pow(bai,3)==i){

                System.out.println(i+"是水仙花数");

            }

        }

    }

}

05:输出小写的a-z以及大写的在Z—A

package com.textday002;

import static java.lang.System.*;

public class WorkBook{

    public static void main(String[] args) {

//     05:输出小写的a-z以及大写的在Z—A

        char lower= 'a';

        for(int i=0;i<26;i++)

            System.out.print((char)(lower+i)+"  ");

        char upper =  'Z';

        System.out.println();

        for(int i=0;i<26;i++)

            System.out.print((char)(upper-i)+"  ");

    }

}

06:求出1-3+5-7+9-…..101的和

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

//     06:求出1-3+5-7+9-…..101的和

        //用tag作为标记是+或者-

        int sum=0,tag = 1;

        for(int i =1;i<=101;i++){

            if(tag == 1){

                sum+=i;

            }else{

                sum-=i;

            }

            if(tag==1){

                tag=0;

            }else{

                tag=1;

            }

        }

        System.out.println("1-3+5-7+9-...101="+sum);

    }

}

07:求出1-1/2+1/3-1/4…..1/100的和

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

        // 07:求出1-1/2+1/3-1/4…..1/100的和

        double sum=0;

        for(int i=1;i<=100;i++){

           if(i%2==1){  //分母是奇数是+

               sum+=1.0/i;

           }else{

               sum-=1.0/i;

           }

        }

        System.out.println("1-1/2+1/3-1/4+...1/100="+sum);

    }

}

08:输出20-80之间能被3整除的整数,每5个一行

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

        // 08:输出20-80之间能被3整除的整数,每5个一行

        int i=20,count=0;

        while(i<81){

            if( i%3 == 0){

                System.out.print(i+"  ");

                count++;

            }

            if(count%5==0){

                System.out.println();

            }

            i++;

        }

    }

}

09:打印出1000-2000年中所有的闰年,并以每行四个数的形式输出

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

        // 09:打印出1000-2000年中所有的闰年,并以每行四个数的形式输出

        int count=0;

        for(int i=1000;i<=2000;i++){

            if((i%4==0&&i/100!=0)||i%400==0){

                System.out.print(i+"  ");

                count++;

            }

            if(count%5==0){

                System.out.println();

            }

        }

    }

}

10:定义两个整数a、b,a、b的取值范围在0-9之间,给出所有符合a+b=12的组合。

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

        // 10:定义两个整数a、b,a、b的取值范围在0-9之间,给出所有符合a+b=12的组合。

        int a,b;

        for(a=0;a<10;a++){

            for(b=0;b<10;b++){

                if(a+b==12){

                    System.out.print(a+"+"+b+"=12   ");

                }

            }

        }

    }

}

11:ABCD分别为0——9之间的整数,求出满足AB+CD=DA条件的数。

    例如:90+09=99

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

        // 11:A、B、C、D分别为0——9之间的整数,求出满足AB+CD=DA条件的数。

        //    例如:90+09=99

        int A,B,C,D;

        for(A=0;A<10;A++){

            for(B=0;B<10;B++){

                for(C=0;C<10;C++){

                    for(D=9;D<10;D++)

                        if((A*10+B)+(C*10+D)==(D*10+A))

                            System.out.println((A*10+B)+"+"+(C*10+D)+"="+(D*10+A));

                }



            }

        }

    }

}

12:随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

        // 12:随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么

        int number=(int)(Math.random()*10000);

        System.out.print("该五位数是:"+number+"\n");

        int count=0,j=0;

        for(int i=0;i<5;i++){

            j = number%10;

            number /=10;

            count++;

            if(count==1){

                System.out.println("个位是:"+j);

            } else if (count==2) {

                System.out.println("十位是:"+j);

            }else if(count==3){

                System.out.println("百位是:"+j);

            }else if(count==4){

                System.out.println("千位是:"+j);

            }else if(count==5){

                System.out.println("万位是:"+j);

            }

            if(number == 0){

                break;

            }

        }

        System.out.println("共有"+count+"位");

    }

}

13:输出九九乘法表

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

        // 13:输出九九乘法表

        for(int i=1;i<=9;i++){

            for(int j=1;j<=i;j++){

                System.out.print(i+"*"+j+"="+i*j+"    ");

            }

            System.out.println();

        }

    }

}

14:使用Java实现输出如下图形。

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

        // 14 使用Java实现输出如下图形。

        //外层循环控制行数

        for (int i = 1; i <= 3; i++) {

            //输出每一行前面的空格“ ”

            for (int j = 3 - i; j > 0; j--) {

                System.out.print(" ");

            }

            //输出每一行的“*”

            for (int k = 2 * i - 1; k > 0; k--) {

                System.out.print("*");

            }

            //换行

            System.out.println();

        }

    }

}

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

        // 14 使用Java实现输出如下图形。

        //行h

        for(int h = 1; h <=5; h++){

            //空格k

            for(int k =1; k <= 6-h ; k++){

                System.out.print(" ");

            }

            //*

            for(int m = 1; m <= 2*h+4; m++){

                System.out.print("*");

            }

            System.out.println();

        }

        for(int h2 = 6; h2 >= 1; h2--){

            //空格k

            for(int k2 = 1; k2 <= 6-h2 ; k2++){

                System.out.print(" ");

            }

            //*

            for(int m2 = 1; m2 <= 2*h2+4; m2++){

                System.out.print("*");

            }

            System.out.println();

        }

    }

}

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

        //上半截图形:外层循环控制行数

        System.out.println("        *");

        for (int i = 1; i <= 8; i++) {

            //输出每一行前面的空格“ ”

            for (int j = 8-i; j >0; j--) {

                System.out.print(" ");

            }

            //输出“*”

            System.out.print("*");

            //输出空格“ ”

            for (int k = 2*i-1; k >0; k--) {

                System.out.print(" ");

            }

            //输出“*”

            System.out.println("*");

        }

        //下半截图形:外层循环控制行数

        for (int i = 1; i <= 7; i++) {

            //输出每一行前面的空格“ ”

            for (int j = i; j >0; j--) {

                System.out.print(" ");

            }

            //输出“*”

            System.out.print("*");

            //输出空格“ ”

            for (int k = 15-2*i; k >0; k--) {

                System.out.print(" ");

            }

            //输出“*”

            System.out.println("*");

        }

        System.out.println("        *");

    }

}

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

        //外层循环控制行数

        System.out.println("***************");

        for (int i = 1; i <= 7; i++) {

            //输出每一行前面的“*”

            for (int j = 8-i; j >0; j--) {

                System.out.print("*");

            }

            //输出每一行的空格“ ”

            for (int k = 2*i-1; k >0; k--) {

                System.out.print(" ");

            }

            //输出每一行后面的“*”

            for (int m = 8-i; m >0;m--) {

                System.out.print("*");

            }

            //换行

            System.out.println();

        }

    }

}

15:实现双色球的彩票功能。规则:从36个红球中随机选择不重复的6个数,从15个篮球中随机选择1个组成一注彩票。可以选择买多注。

package com.textday002;



import java.util.Scanner;



public class WorkBook{

    public static void main(String[] args) {

//  15:实现双色球的彩票功能。规则:

//  从36个红球中随机选择不重复的6个数,

//  从15个篮球中随机选择1个组成一注彩票。可以选择买多注。

        //创建Scanner类对象,用来获取从键盘输入的数据

        Scanner sc = new Scanner(System.in);

        System.out.println("输入你要购买的彩票注数:");

        int num = sc.nextInt();



        for (int i = 1; i <= num; i++) {

            //随机获取一个[num1,num2)之间的int类型的数(num2>num1):(int)(Math.random()*(num2-num1)+num1);

            // 输出蓝球,蓝球只需要一个[1,17)

            int blueBall = (int) (Math.random() * 16 + 1);

            // 输出红球,红球需要6个[1,34)

            int redBall1 = (int) (Math.random() * 33 + 1);

            int redBall2 = 0;

            int redBall3 = 0;

            int redBall4 = 0;

            int redBall5 = 0;

            int redBall6 = 0;

            while (true) {

                int redBall = (int) (Math.random() * 33) + 1;

                if (redBall6 != 0) {// redBall6不等于0说明redBall6已经获得值了

                    break;// redBall6获得值了就退出循环

                }

                if (redBall != redBall1 && redBall2 == 0) {

                    redBall2 = redBall;

                } else if (redBall != redBall1 && redBall != redBall2

                        && redBall3 == 0) {

                    redBall3 = redBall;

                } else if (redBall != redBall1 && redBall != redBall2

                        && redBall != redBall3 && redBall4 == 0) {

                    redBall4 = redBall;

                } else if (redBall != redBall1 && redBall != redBall2

                        && redBall != redBall3 && redBall != redBall4

                        && redBall5 == 0) {

                    redBall5 = redBall;

                } else if (redBall != redBall1 && redBall != redBall2

                        && redBall != redBall3 && redBall != redBall4

                        && redBall != redBall5 && redBall6 == 0) {

                    redBall6 = redBall;

                }

            }

            System.out.println(redBall1 + " " + redBall2 + " " + redBall3 + " "

                    + redBall4 + " " + redBall5 + " " + redBall6 + "---"

                    + blueBall);

        }

        sc.close();

    }

}

16:输出1-100之间的不能被5整除的数,每5个一行。

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

//        16:输出1-100之间的不能被5整除的数,每5个一行。

        int count=0;

        for(int i =1;i<=100;i++){

            if(i%5!=0){

                count++;

                System.out.print(i+"\t");

            }

            if(count%5==0)

                System.out.println();

        }

    }

}

17:输出斐波那契数列数列的前20项

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

//        17:输出斐波那契数列数列的前20项

        int num[] = new int[20];

        num[0]=0;

        num[1]=1;

        System.out.println("斐波那契数列前20项的值如下:");

        System.out.print(num[0]+" "+num[1]+" ");

        for(int i = 2; i < 20; i++){

            num[i] = num[i - 1] + num[i - 2];

            System.out.print(num[i]+" ");

        }

    }

}

18:输出一个整数的二进制数、八进制数、十六进制数。

package com.textday002;



import java.util.Scanner;



public class WorkBook{

    public static void main(String[] args) {

//        18:输出一个整数的二进制数、八进制数、十六进制数。



        Scanner scan=new Scanner(System.in);

        System.out.print("输入一个整数:");

        int n=scan.nextInt(); //输入15



        System.out.println("n的十进制="+n);

        System.out.println("n的二进制="+Integer.toBinaryString(n));

        System.out.println("n的八进制="+Integer.toOctalString(n));

        System.out.println("n的十六进制="+Integer.toHexString(n));

    }

}

19:随机产生一个字母,如果是大写字母则输出“yes”,否则输出“no”

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

//        19:随机产生一个字母,如果是大写字母则输出“yes”,否则输出“no”

        int number = (int) (Math.random()*58+65);

        if(number>=65&&number<=90){

            System.out.println("Yes");

            System.out.println((char)number);

        }else{

            System.out.println("No");

            System.out.println((char)number);

        }

    }

}

20:随机产生一个字符,判断:如果为大写字母则输出“大写字母”;如果为小写字母则输出“小写字母”;否则怎输出“其他字符”;

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

//   20:随机产生一个字符,判断:如果为大写字母则输出“大写字母”;

//   如果为小写字母则输出“小写字母”;否则怎输出“其他字符”

//        a-z:97~122

//        A~Z:65~90

        int number = (int) (Math.random()*58+65);

        if(number>=65&&number<=90){

            System.out.println("大写字母");

            System.out.println((char)number);

        }else if(number>=97&&number<=122){

            System.out.println("小写字母");

            System.out.println((char)number);

        }else{

            System.out.println("其他字符");

            System.out.println((char)number);

        }

    }

}

21:求100到1000之间的所有能被5和6整除的整数,每行显示5个

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

//   21:求100到1000之间的所有能被5和6整除的整数,每行显示5个

        int count=0;

        for(int i =100;i<=1000;i++){

            if(i%5==0 && i%6==0){

                System.out.print(i+"   ");

                count++;

                if(count%5==0){

                    System.out.print("\n");

                }

            }

        }

    }

}

22:求和:1/3+3/5+5/7+7/9+………..+97/99

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

//   22:求和:1/3+3/5+5/7+7/9+………..+97/99

        double sum=0;

        for(double i = 1;i<=97;i+=2){

            sum+=(i/(i+2));

        }

        System.out.print("1/3+3/5+5/7+7/9+………..+97/99="+sum);

    }

}

23:输出100以内的所有素数,每行显示5个;并求和。

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

//   23:输出100以内的所有素数,每行显示5个;并求和。

//        素数只能被1和自己整除的数;1不是素数。

        int count=0,sum=0,i,j;

        for(i=2;i<=100;i++){

            for(j=2;j<=i;j++){

                if(i%j==0)

                    break;

            }

            if(i==j){

                count++;

                sum+=i;

                System.out.print(i+"\t");

                if(count%5==0)

                    System.out.println();

            }

        }

    }

}

24:山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸挑满?通过编程解决这个问题。

提示:

(1) 用整型变量water表示水缸里的水“int water = 15;”。

(2) 用整型变量l表示小和尚下山挑水的次数“int l = 0;”。

(3) 分析循环条件(水少于50升),循环操作(水增加5升,挑水次数增加1)。

(4) 套用while循环(或do-while循环)写出代码。

package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

//   24:山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸挑满?通过编程解决这个问题。

//提示:

//(1) 用整型变量water表示水缸里的水“int water = 15;”。

//(2) 用整型变量l表示小和尚下山挑水的次数“int l = 0;”。

//(3) 分析循环条件(水少于50升),循环操作(水增加5升,挑水次数增加1)。

//(4) 套用while循环(或do-while循环)写出代码。

        int water=15;

        int l=0,sum=water;

        while(sum<50){

            l++;

            sum+=5;

        }

        System.out.println("小和尚要挑"+l+"次水,水缸最后水:"+sum);

    }

}

25:李白无事街上走,提壶去买酒。遇店加一倍,见花喝一斗,五遇花和店,喝光壶中酒,试问李白壶中原有多少斗酒?(使用for循环结构编程实现)

提示:采用逆向思维分析问题。

  

 package com.textday002;



public class WorkBook{

    public static void main(String[] args) {

//  25:李白无事街上走,提壶去买酒。

//  遇店加一倍,见花喝一斗,五遇花和店,喝光壶中酒,试问李白壶中原有多少斗酒?(使用for循环结构编程实现)

//提示:采用逆向思维分析问题。

//        //最后喝光壶中酒可见最后一次是见花,喝了一斗酒

//        //   1      0.5

//        //   1.5    0.75

//        //   1.75   1.75/2

        double surplus=0;

        //逆推 ,最后是遇花喝一斗 之后变成0斗

        for(int i=0;i<5;i++){

            surplus+=1;   //先加1

            surplus/=2;   //加一倍之前是喝完所剩的酒,遇店加一倍

        }

        System.out.println("李白壶中原有"+surplus+"斗酒");

    }

}

26:开发一个标题为“FlipFlop”的游戏应用程序。它从1计数到100,遇到3的倍数就替换为单词“Flip”,5的倍数就替换为单词“Flop”,既为3的倍数又为5的倍数则替换为单词“FlipFlop”。

package com.textday002;



import java.util.Scanner;



public class WorkBook{

    public static void main(String[] args) {

//  26:开发一个标题为“FlipFlop”的游戏应用程序。

//  它从1计数到100,遇到3的倍数就替换为单词“Flip”,

//  5的倍数就替换为单词“Flop”,既为3的倍数又为5的倍数则替换为单词“FlipFlop”。

        System.out.println("这是一款‘FlipFlop’游戏应用程序");

        for(int i=1;i<=100;i++){

            if(i%3==0&&i%5==0){

                System.out.print("FlipFlop\n");

            }else if(i%3==0){

                System.out.print("Flip\t");

            }else if(i%5==0){

                System.out.print("Flop\n");

            }else{

                System.out.print(i+"\t"+"\t");

            }

        }

    }

}

27:生成13位条形码

Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。

例如:690123456789

计算其校验码的过程为:

@前十二位的奇数位和6+0+2+4+6+8=26

@前十二位的偶数位和9+1+3+5+7+9=34

@将奇数和与偶数和的三倍相加26+34*3=128

@取结果的个位数:128的个位数为8

@用10减去这个个位数10-8=2

所以校验码为2

(注:如果取结果的个位数为0,那么校验码不是为10(10-0=10),而是0)

实现方法ean13()计算验证码,输入12位条码,返回带验证码的条码。

例:输入:692223361219输出:6922233612192

package com.textday002;



import java.util.Scanner;



public class WorkBook{

    public static void main(String[] args) {

//  27:生成13位条形码

        Scanner scan = new Scanner(System.in);

        int[] arr = new int[13];

        System.out.print("请输入12个0~9之间的数字,例如(6 9 2 2 2 3 3 6 1 2 1 9):");



        for(int i=0;i<(arr.length-1);i++){

            arr[i] = scan.nextInt();

        }

        //oddnum 为奇数和,evennum 为偶数和

        int oddnum =0,evennum=0;

        //计算奇数偶数和

        for(int i=0;i<12;i++){

            if(i%2==0){

                oddnum+=arr[i];

            }else if(i%2 ==1){

                evennum+=arr[i];

            }

        }

        System.out.println("奇数和:"+oddnum);

        System.out.println("偶数和"+evennum);

        int threetimes  = oddnum+evennum*3;

        int ge = threetimes%10;

        int checkcode;

        if(ge==0){

            checkcode = 0;

        }else{

            checkcode = 10-ge;

        }

        arr[12]=checkcode;

        System.out.println("验证码的条码为:");

        for(int i=0;i<arr.length;i++){

            System.out.print(arr[i]);

        }

    }

}

28:求两个整数的最大公约数和最小公倍数

package com.textday002;



import java.util.Scanner;



public class WorkBook{

    public static void main(String[] args) {

//   28:求两个整数的最大公约数和最小公倍数

        System.out.print("请输入两个整数:");

        Scanner scan = new Scanner(System.in);

        int x = scan.nextInt();

        int y = scan.nextInt();

        int temp=0,m=x,n=y;

        if(x<y){

            temp = x;x=y;y=temp;

        }

        while(x%y!=0){

            temp = x%y;

            x=y;

            y=temp;

        }

        System.out.println("最大公约数:"+y);

        System.out.println("最小公倍数"+m*n/y);

    }

}

29:将100元兑换为1元、5元、10元的零钱,请问有多少种兑换方法?

package com.textday002;



import java.util.Scanner;



public class WorkBook{

    public static void main(String[] args) {

//  29:将100元兑换为1元、5元、10元的零钱,请问有多少种兑换方法?

        //这里题目没有要求每种都要有一张票,默认每种都可以有0张

        //x 是1 元  y 代表 5 元  z 代表10元

        int x=1,y=5,z=10,count=0;

        for(int i=0;i<=100;i++){

            for(int j=0;j<=20;j++){

                for(int k=0;k<=10;k++){

                    if(i*x+j*y+k*z == 100){

                        count++;

                        System.out.println(i+"*"+x+"+"+j+"*"+y+"+"+k+"*"+z+"="+100);

                    }

                }

            }

        }

        System.out.println("共有"+count+"种方法");

    }

}

30:用100元人民币兑换10元,5元,1元的纸币(每种都要有)共50张,计算有多少种兑换方案

package com.textday002;



import java.util.Scanner;



public class WorkBook{

    public static void main(String[] args) {

//  30:用100元人民币兑换10元,5元,1元的纸币(每种都要有)共50张,计算有多少种兑换方案

        int x=1,y=5,z=10,count=0;

        for(int i=1;i<=100;i++){

            for(int j=1;j<=20;j++){

                for(int k=1;k<=10;k++){

                    if(i*x+j*y+k*z == 100 && i+j+k==50 ){

                        count++;

                        System.out.println(i+"*"+x+"+"+j+"*"+y+"+"+k+"*"+z+"="+100);

                    }

                }

            }

        }

        System.out.println("共有"+count+"种方法");

    }

}

31:设计Java程序,假设有50瓶饮料,喝完3个空瓶可以换一瓶饮料,依次类推,请问总共喝了多少瓶饮料?

package com,textday002;

import java.util.Scanner;



public class WorkBook{

    public static void main(String[] args) {

//  31:设计Java程序,假设有50瓶饮料,喝完3个空瓶可以换一瓶饮料,

//  依次类推,请问总共喝了多少瓶饮料?

       // -3 +1  -3  +1

        //  n 喝三瓶换一瓶

        int sum=50,n=0;

        while(true){

            sum-=3;

            n++;

            sum+=1;

            if(sum<3){

                System.out.println("一共喝了"+(50+n)+"瓶");

                break;

            }

        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值