循環的兩種應用:窮舉和迭代.
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+"米");