Java中, for循环经典例子
循环的两种应用:穷举和迭代.
break跳出整个循环
一、穷举:将所有可能的情况都走一遍,用if筛选出符合条件。
百鸡百钱: 一只公鸡1文钱,一只母鸡2文钱,一只小鸡半文钱,需要买100只鸡, 正好花完,可以怎么买?有多少种买法?
int ff = 0; for(int g=0;g<=100;g++) { for(int m=0;m<=50;m++) { for(int x=0;x<=200;x++) { if(g+m+x==100 && g+2*m+0.5*x==100) { ff++; System.out.println("可买公鸡"+g+"只,母鸡"+m+"只,小鸡"+x+"只"); } } } } System.out.print("共有"+ff+"种方法购买");
效果图如下:
在以下括号种添加 +或者- 使式子成立
123( )45( )67( )8( )9=100
for(int a=-1;a<=1;a+=2) { for(int b=-1;b<=1;b+=2) { for(int c=-1;c<=1;c+=2) { for(int d=-1;d<=1;d+=2) { if(123+a*45+b*67+c*8+d*9==100) { System.out.print(a+"\t"+b+"\t"+c+"\t"+d); } } } } }
效果图如下:
正1为 +号 负1为减号 所以括号中添加的顺序为 123( + )45( — )67( + )8( — )9=100
二、迭代:找到规律,从已知条件,推出结果
篮球弹跳:篮球从十米的位置向下掉落,每一次掉落都是前一次的一半,问弹跳十次之后篮球篮球的高度
float h=10; for(int g=0;g<10;g++) { h=h/2; } System.out.print("第十次的高度为"+h+"米");
我们不是制造者,我们是代码搬运工