分析
一只鸡翁价值5,100最多买20只鸡,假设可以买x只鸡翁。
一只鸡母价值3,100最多买33只鸡,假设可以买y只鸡母。
三只鸡雏价值1,100最多买300只鸡雏,假设可以买z只鸡雏。
并且是100块钱买一百只鸡。
则有以下表达式成立。
鸡的价值为100
5x + 3y + z/3 = 100;
鸡的只数
x + y + z = 100;
==>>> 第一个方程式乘以3
15x + 9y + z = 300;
x + y + z = 100;
===>>>两个方程式相减,消除z
14x + 8y = 200 ;
===>
7x + 4y = 100;
因为又满足价值小于 100,假设全部买鸡翁。则最多买 100/7 = 14只。所以  0<=x<=14
根据x求带入方程式7x + 4y = 100;计算出y。根据x ,y带入方程式x + y + z = 100;计算出z;
代码如下:
 import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        // 鸡翁值5, 一百块最多买20只  鸡翁买x只
        // 鸡母值3, 一百块最多买33只  鸡母买y只
        // 鸡雏三值1, 一百块最多买300只 鸡雏买z只
        Scanner in = new Scanner(System.in);
        // 买x鸡翁,y只鸡母,z只鸡雏
        //5x+3y+z/3=100  ==>  15x + 9y + z = 300
        //x+y+z==100确定         // ==>   14x + 8y = 200  ==> 7x + 4y = 100  ==>  y = (100 - 7x)/4
        while (in.hasNextInt()){
            int n = in.nextInt();
            for (int x = 0; x <= 14; x++) {
                if ((100 - 7* x) % 4 == 0){
                    int y = (100-7*x) / 4;
                    int z = 100 - x - y;
                    System.out.println(x + " " + y + " " + z);
                }
            }
        }
    }
}