java001:穷举法,斐波那契及简单循环嵌套的练习

第一题:求两个数的最小公倍数
找到的第一个公倍数就是最小公倍数,找到后要用break;结束循环,要不然程序会一直运行到最后,产生多个公倍数。
在这里插入图片描述
第二题:交换两个变量的值:
除了引用第三个变量以外,我们也可以通过算数运算的方式进行两个数数值的交换

a=a+b;        //此时把a+b赋值给左面的a,右面的a空出来了
b=a-b;        //再用赋值过的a(a+b)把b减去,就只剩a,即把a的值赋值给b成功
a=a-b     //同理

在这里插入图片描述
练习三:打印斐波那契数列的前20项:
1 1 2 3 5 8,即前两项相加的和等于第三项。

int a=1;
int b=1;
for(int i=1;i<=20;i++){
if(i==1||i==2){                 //前两项不需要计算,都输出1
System.out.print(1+"\t");   //print表示不换行输出,\t表示加空格
}
else{
int s=a+b;
a=b;
b=s;
System.out.print(s+"\t");}}

在这里插入图片描述
练习四:(循环嵌套一般外行内列)打印99乘法表:
要用到两层循环嵌套,外层循环一次,内层循环最少循环一次,最多9次
在这里插入图片描述
结果:
在这里插入图片描述
练习五:打印如下图的图形:
必须先找到图形变化的规律,外层循环循环一次,内层循环多次,次数由外层循环和内层循环的变化规律来具体分析

*
**
***
****
*****
..........

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
练习六:穷举法:
是一种简单粗暴的方法,就是把值带进去一 一验证,罗列出所有的结果,再从结果中选择出符合条件的出来,可真是个小机灵鬼,要是人早累死了。
穷举法的步骤:
1,找极端值:比如三个人吃饭,A一次吃1碗,B一次吃2碗,C一次吃3碗,30碗饭看A,B,C三人吃多少次才能吃完。A30次,B15次,C10次。假如只让A一个人吃,30次吃完。B一个人吃,15次吃完。C就是10次。所以极端值就是30A+15B+10C。说到这里我想说怎么不吃死你们三个,我现在又累又饿又瞌睡。
2,找转折点:就算他们三个不怕吃死,但是饭只有30碗啊,所以转折点就是A+2B+3C=30。
练习1:我有100元,买食堂的饼一个2元,二楼任大哥一份10元,一楼地锅鸡一份15元,我如何吃才能吃完这100元了?但是下面程序我的变量a,b,c没有从0开始,因为我想至少每个都吃
在这里插入图片描述
在这里插入图片描述

练习2:大马一次拉2袋货物,小马一次拉一袋货物,马驹一次拉半袋货物,多少大马,小马,马驹可以拉完100袋货物,并且马驹数量是小马的两倍。

int a,b,c;  //a大b小c马驹
for(a=0;a<=50;a++){
for(b=0;b<=100;b++){
for(c=0;c<=200;c+=){
if(a*2+b*1+c/2==100&&c!=0&&c==a*2){    //整形不能用0.5,但是除的时候要确保c不为零
System.out.println(a+":"+b+":"+c);
}
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值