循环的两种应用:穷举和迭代.

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+"种方法购买");

效果图如下:

java for 循环中return javafor循环例子_迭代

 

在以下括号种添加   +或者-  使式子成立

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);
                        }
                    }
                }
            }
        }

效果图如下:

java for 循环中return javafor循环例子_迭代_02

正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+"米");

  

 

我们不是制造者,我们是代码搬运工