C语言解决百钱买百鸡问题

公鸡每只五元,母鸡每只3元,小鸡每三只一元,用一百块钱买一百只鸡,问公鸡,母鸡,小鸡各应买几只?

#include<stdio.h>
int main()
{
    int g,m,x;
    for(g=0;g<=20;g++)
    {
        for(m=0;m<=33;m++)
        {
            for(x=3;x<=99;x++)
            {
                if(5*g+3*m+x/3==100)
                {
                    if(g+m+x==100)
                    {
                        if(x%3==0)
                        printf("公鸡=%d 母鸡=%d 小鸡=%d\n",g,m,x);
                    }
                }
            }
        }
    }
    return 0;
}


#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    for(int i=0;i<=20;i++)
        for(int j=0;j<=33;j++)
        {
            int z=100-i-j;
            if(((5*i)+(3*j)+((double)z/3))==100&&
                i+j+z==100)
                    cout<<i<<" "<<j<<" "<<z<<"\n";
        }
    return 0;
}

这样即可(我用的c++)