import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int cnt_male=0;
int cnt_female=0;
int cnt_child=0;
while (in.hasNextInt()) {
cnt_child=in.nextInt();
for(int i=0;i<34;i++){
cnt_child=i*3;//鸡雏只能是3的倍数个
for(int j=0;j<100;j++){
cnt_male=j;//公鸡个数
cnt_female=100-cnt_child-cnt_male;//母鸡个数
if(cnt_female<0){
continue;
}
if(5*cnt_male+3*cnt_female+i==100){
System.out.println(cnt_male+" "+cnt_female+" "+cnt_child);
}
}
}
}
}
}先上代码.由于鸡雏只有是3的整数倍的时候才能确保结算价格是整数,故第一层循环遍历鸡雏个数.第二层循环遍历公鸡或者母鸡个数都可以,反正有总数100这个约束.此处要避免出现另一种鸡为负数的情况,使用continue跳入下次循环加速求解.最后把筛选出的结果输出.

京公网安备 11010502036488号