java流程控制之习题
作者:互联网
经过近段时间的学习,差不多也掌握了java的流程控制以及基本知识,下面就来一起练练习题吧,看能做出来几道。
第一道题:假设小明有100块钱,这时候小明去超市需要换零钱,超市提供的零钱有1元面值,2元面值,5元面值,10元面值,20元面值,50元面值,问小明可以有多少种兑换方式? 第二道题:假设小明有100块钱,这时候小明去超市买可乐,可乐3块钱一瓶,超市卖家每次卖给小明一瓶可乐,就比原来的贵2/3的价钱,小明的瓶子每一个瓶子可以换半瓶可乐(只有半瓶换不出来),问小明最多可以在该超市中买走多少瓶可乐? 第三道题:打印图案题: 1. 打印 7行的实心菱形 2. 打印11行的实心梯形 3. 打印13行的实心的等腰直角三角形 第四道题:求一下10以内的所有阶乘数的和 1!+2!+3!+.....+10!=? 第五道题:生兔子案列:假设你有一对兔子,第一个月不生,第二个月也不生,第三个月开始生一对兔子,从第三个月开始每个月都生一对兔子,小兔子长大到第三个月后每个月又生一对兔子,假如兔子都不死,问12个月之后,你拥有多少对兔子? 第六道题:给定任意一个10位以内的正整数,确定该数是几位数? 第七道题:将一个正整数分解成因数, 第八道题:给定任意两个正整数,求一下他们的最大公约数和最小公倍数。 第九道题:求一下1000以内的所有的完数。完数 = 一个数如果恰好等于他的因子之和,这个数就称为完数 6 = 1 + 2 + 3 = 6 第十道题:
第一题: 假设小明有100块钱,这时候小明去超市需要换零钱,超市提供的零钱有1元面值,2元面值,5元面值,10元面值,20元面值,50元面值,问小明可以有多少种兑换方式? 答案如下:
第三道题:打印图案题: 1. 打印 7行的实心菱形 2. 打印11行的实心梯形 3. 打印13行的实心的等腰直角三角形
第一道题:假设小明有100块钱,这时候小明去超市需要换零钱,超市提供的零钱有1元面值,2元面值,5元面值,10元面值,20元面值,50元面值,问小明可以有多少种兑换方式? 第二道题:假设小明有100块钱,这时候小明去超市买可乐,可乐3块钱一瓶,超市卖家每次卖给小明一瓶可乐,就比原来的贵2/3的价钱,小明的瓶子每一个瓶子可以换半瓶可乐(只有半瓶换不出来),问小明最多可以在该超市中买走多少瓶可乐? 第三道题:打印图案题: 1. 打印 7行的实心菱形 2. 打印11行的实心梯形 3. 打印13行的实心的等腰直角三角形 第四道题:求一下10以内的所有阶乘数的和 1!+2!+3!+.....+10!=? 第五道题:生兔子案列:假设你有一对兔子,第一个月不生,第二个月也不生,第三个月开始生一对兔子,从第三个月开始每个月都生一对兔子,小兔子长大到第三个月后每个月又生一对兔子,假如兔子都不死,问12个月之后,你拥有多少对兔子? 第六道题:给定任意一个10位以内的正整数,确定该数是几位数? 第七道题:将一个正整数分解成因数, 第八道题:给定任意两个正整数,求一下他们的最大公约数和最小公倍数。 第九道题:求一下1000以内的所有的完数。完数 = 一个数如果恰好等于他的因子之和,这个数就称为完数 6 = 1 + 2 + 3 = 6 第十道题:
第一题: 假设小明有100块钱,这时候小明去超市需要换零钱,超市提供的零钱有1元面值,2元面值,5元面值,10元面值,20元面值,50元面值,问小明可以有多少种兑换方式? 答案如下:
int a1 = 0; for (int i1 = 0;i1<=100;i1++){ for (int i2 = 0;i2<=50;i2++){ for (int i5=0;i5<=20;i5++){ for (int i10=0;i10<=10;i10++){ for (int i20=0;i20<=5;i20++){ for (int i50=0;i50<=2;i50++){ if (i1*1+i2*2+i5*5+i10*10+i20*20+i50*50==100){ a1++; } } } } } } } System.out.println(a1);
第二道题:
假设小明有100块钱,这时候小明去超市买可乐,可乐3块钱一瓶,超市卖家每次卖给小明一瓶可乐,就比原来的贵2/3的价钱,小明的瓶子每一个瓶子可以换半瓶可乐(只有半瓶换不出来),问小明最多可以在该超市中买走多少瓶可乐?
答案如下:
double money2 = 100.0; double kele2 =3.0; double a2 = 3.0; double b2 = 2.0; double c2 = b2/a2; int d2 = 0; for (int i2 = 0;money2>kele2;i2++){ money2 = money2 - kele2; kele2 =kele2 + kele2 * c2; d2++; if (d2%2==0){ d2++; } } System.out.println(d2);
第三道题:打印图案题: 1. 打印 7行的实心菱形 2. 打印11行的实心梯形 3. 打印13行的实心的等腰直角三角形
答案如下:
//菱形 for(int i3=1;i3<=4;i3++){ for (int a3=1;a3<=4-i3;a3++){ System.out.print(" "); } for(int a3=1; a3<=(2*i3-1);a3++){ System.out.print("*"); } System.out.println(); } for(int i3=3;i3>=1;i3--){ for (int a3=1;a3<=4-i3;a3++){ System.out.print(" "); } for(int a3=1; a3<=(2*i3-1);a3++){ System.out.print("*"); } System.out.println(); }//梯形 for (int i = 3;i<=13;i++){ for (int a=1;a<=13-i;a++){ System.out.print(" "); } for (int c=1;c<=(2*i-1);c++){ System.out.print("*"); } System.out.println(); } //直角三角形 for (int i =1;i<=12;i++){ for (int i1=1;i1<=i;i1++){ if (i==i1||i1==1){ System.out.print(" "+"*"); }else{ System.out.print(" "+" "+" "); } } System.out.println(""); } System.out.println(" * * * * * * * * * * * * *");
第四道题:
求一下10以内的所有阶乘数的和 1!+2!+3!+.....+10!=?
答案如下:
//第四题 int a4 = 1; int c4 = 0; for (int i4 = 1; i4<=10;i4++){ for (int b4 =1;b4<=i4;b4++){ a4=a4*b4; } c4=c4+a4; a4=1; } System.out.println(c4);
第五道题:
生兔子案列:假设你有一对兔子,第一个月不生,第二个月也不生,第三个月开始生一对兔子,从第三个月开始每个月都生一对兔子,小兔子长大到第三个月后每个月又生一对兔子,假如兔子都不死,问12个月之后,你拥有多少对兔子?
答案如下:
int month = 12; long a = 1l,b = 1l,c = 0l; for (int i = 0;i < month-2;i++){ c = a + b; a = b; b = c; } System.out.println("拥有"+c+"只兔子");
第六道题:
给定任意一个10位以内的正整数,确定该数是几位数?
答案如下:
int a6 = 999; int b6 = 1; for (int i = 1; i<=10;i++){ if (a6/10!=0){ b6++; a6=a6/10; }else{ break; } } System.out.println(b6);
第七道题:
将一个正整数分解成因数,
答案如下:
int a7 =20; for (int i7=1;i7<=a7;i7++){ for (int b7=1;b7<=a7;b7++){ if (i7*b7==a7&&b7!=a7){ System.out.print(b7+" "); } } }
第八道题:
给定任意两个正整数,求一下他们的最大公约数和最小公倍数。
答案如下:
int a8 =20; int b8 =10; int max = 0,min = 0; if (a8>b8){ int t = a8; b8 = a8; a8 = t; } for (int i=1;i<=a8;i++){ if (a8%i==0&&b8%i==0){ max=i; } } min=a8*b8/max; System.out.println(max); System.out.println(min);
第九道题:
求一下1000以内的所有的完数。完数 = 一个数如果恰好等于他的因子之和,这个数就称为完数 6 = 1 + 2 + 3 = 6
答案如下:
int a9 =0; int c9 =0; for (int i9=2;i9<=1000;i9++){ for (int b9=1;b9<i9;b9++){ if (i9%b9==0){ a9+=b9; } } if (a9==i9){ c9+=a9; } a9=0; } System.out.println(c9);
第十题:
答案如下:
int a10 = 0; int y1=0; int y2=0; int y3=0; int y4=0; int y5=0; int y6=0; int y7=0; int y8=0; int y9=0; int y0=0; for (int i10=1;i10<=100000;i10++){ a10=i10+a10; switch (a10%10){ case 1: y1++; break; case 2: y2++; break; case 3: y3++; break; case 4: y4++; break; case 5: y5++; break; case 6: y6++; break; case 7: y7++; break; case 8: y8++; break; case 9: y9++; break; case 0: y0++; break; } } System.out.println("1 "+y1); System.out.println("2 "+y2); System.out.println("3 "+y3); System.out.println("4 "+y4); System.out.println("5 "+y5); System.out.println("6 "+y6); System.out.println("7 "+y7); System.out.println("8 "+y8); System.out.println("9 "+y9); System.out.println("10 "+y0);
看完答案是不是感觉很简单?
说实在的,我在做的时候把自己都套懵了,有的时候套到哪里都不知道;
不说了,大家一起再去练练
标签:小明,java,10,int,流程,兔子,面值,习题,可乐 来源: https://www.cnblogs.com/ma159753/p/13832058.html