解题思路:
1.首先定义变量coincock(可用来买公鸡的钱),coinhen(可用来买母鸡的钱),coinchi(可用来买小鸡的钱);
2.先买公鸡,买后剩余的钱存在coinhen里; 买完后剩余的钱可以买coinhen/3只母鸡;
3.然后买母鸡,买后剩余的钱存在coinchi里; 买完后剩余的钱可以买coinchi*3只小鸡;
4.最后把coinchi全买小鸡;
5.看买的公鸡+母鸡+小鸡是否等于100,等于则输出解;
注意事项:
不可以就用一个变量存每个过程剩余的钱:for ( int cock = 0; cock <= 12; cock++ )
{
coin = 100;
coin = coin - (5 * cock);
for ( int hen = 0; hen <= (coin / 3); hen++ )
{
coin = coin - (3 * hen);
if ( (cock + hen + coin * 3 == 100) )
printf( "cock=%d,hen=%d,chicken=%d\n", cock, hen, coin * 3 );
}
}
coin买完母鸡后就变了,再次返回买母鸡时,可买的母鸡数不对的;
参考代码:#include
int main()
{
int coincock, coinhen, coinchi;
for ( int cock = 0; cock <= 12; cock++ )
{
coincock = 100;
coinhen = coincock - (5 * cock);
for ( int hen = 0; hen <= (coinhen / 3); hen++ )
{
coinchi = coinhen - (3 * hen);
if ( (cock + hen + coinchi * 3 == 100) )
printf( "cock=%d,hen=%d,chicken=%d\n", cock, hen, coinchi * 3 );
}
}
return(0);
}
别忘点赞哦-.-