每个初学者都会接触这个问题,今天就给大家带来这个问题的一种解法;
题目:百钱买百鸡
问题描述:已知一只公鸡5元钱,一只母鸡3元钱,3只小鸡1元钱,问100元钱买100只鸡,有几种买法,按照要求输出。
样例输出:
cock:0;hen:25;chick:75
cock:4;hen:18;chick:78
cock:8;hen:11;chick:81
cock:12;hen:4;chick:84
There are 4 kinds!
思考:
1、计算cock、hen、chick最多是多少,这就是它们的范围;
2、设置条件判断钱数,鸡数加起来是不是等于100;
3、注意小鸡数要能被三整除;
代码如下
#include<stdio.h>
int main()
{
int cock,hen,chick;
for(cock=0;cock<=20;cock++)
for(hen=0;hen<=33;hen++)
for(chick=0;chick<=99;chick++)
if(5*cock+3*hen+chick/3==100)//判断钱数是否等于100;
if(cock+hen+chick==100)//判断鸡数是否等于100;
if(chick%3==0)//因为1元三只小鸡,所以小鸡数必须整除3;
printf("cock:%d;hen:%d;chick:%d\n",cock,hen,chick);
return 0;
}
运行如下
注意:需要设置相应条件使其找到符合的数字输出;
有什么不足请在评论区留言;