百鸡百钱【枚举算法】

题目描述

百鸡百钱是中国古代数学家张丘建在《算经》一书中提出的数学问题:
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
含义:公鸡每只单价为5,母鸡每只单价为3,小鸡三只总价为1;如果买100只鸡的价钱恰好为100,那么其中的公鸡、母鸡、小鸡数量分别是多少?
经过计算,有四种情况可以满足百鸡百钱(鸡的数量可以为0)

公鸡母鸡小鸡
02575
41878
81181
12484


现在将问题推广到一般情况:输入鸡的总数n和总价m(1≤m,n≤200),计算公鸡、母鸡、小鸡的数量各是多少?

输入

鸡的总数n和总价m(1≤m,n≤200)

输出

公鸡、母鸡、小鸡的数量,之间有一个空格(测试数据确保至少有一组解)
如果有多组解满足条件,要求每一组解占一行,并按照公鸡,母鸡,小鸡数量的升序输出
 

样例输入 Copy

100 100

样例输出 Copy

0 25 75
4 18 78
8 11 81
12 4 84
#include<stdio.h>
int main()
{
    int x,y,z,a,b,i;
    scanf("%d %d",&a,&b);
    for(x = 0;x <= a;x++)
        for(y = 0;y <= a;y++){
            z = a - x - y;
            if(5*x + 3*y + z/3.0 == b)
            {
                printf("%d %d %d\n",x,y,z);
            }
        }
    return 0;
 }