搬砖题
问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖,要求一次全搬完,问男、女和小孩各若干?
运用知识点:循环、循环嵌套、continue等
易错点:
1、没有看清楚条件,忽略了36人的作用
2、没有注意到小孩的数量必须是偶数
3、没有注意到数据类型的隐式转换问题
练习过程:
public class CarryBricks {
public static void main(String[] args) {
int numberOfBricks;
int male;
int female;
int kid;
for(male = 1; male <=9; male++){//最多需要男人9人
for (female = 1; female <=12 ; female++) {//最多需要女人12人
// kid = (male * 4 + female * 3) * 2;
kid = 36 - male - female;
if(kid % 2 != 0) continue;
// if((4 * male + 3 * female + kid * (1/2)) == 36){
if((4 * male + 3 * female + kid/2) == 36){
System.out.println("男人有" + male + "人," + "女人有" + female + "人,小孩有" + kid + "人") ;
}
}
}
}
}
参考答案:
public class MoveBricks {
public static void main(String[] args) {
for(int a = 0; a<=9; a++){
for(int b = 0; b<=12; b++){
int c = 36 - a - b;
if (c % 2 !=0) continue;
if (a*4 + b*3 + c/2 == 36){
System.out.println(a + "个男," + b + "个女," + c + "个小孩");
}
}
}
}
}