《百钱买百鸡》c语言(循环结构)

《算经》中曾提出一个“百钱买百鸡”问题,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?(即公鸡5钱一只,母鸡3钱一只,小鸡三只一钱。问:100钱买一百只鸡,公鸡、母鸡、小鸡各多少只?

实现过程:

使用for语句对三种鸡的数目在确定好的范围内进行穷举并判断,对满足条件的3种鸡数目按照指定格式输出,否则进行下次循环。

代码如下:

#include <stdio.h>

int main()

{

    int cock,hen,chick;   /*鸡翁即公鸡,用cock表示;hen母鸡;chick小鸡*/



    for(cock=0;cock<=20;cock++)   /*公鸡范围在 0~20 之间*/



    for(hen=0;hen<=33;hen++)   /*母鸡范围在 0~33 之间*/



    for(chick=3;chick<=99;chick++)   /*小鸡范围在 3~99 之间*/



    if(5*cock+3*hen+chick/3==100)   /*判断钱数是否等于 100*/



    if(cock+hen+chick==100)   /*判断购买的鸡数是否等于 100*/



    if(chick%3==0)   /*判断小鸡数是否能被 3 整除*/



    printf("公鸡:%d,母鸡:%d,小鸡:%dn",cock,hen,chick);



    return 0;

}

思路:如果一百元全买公鸡,那么最多可以买20只,所以0<=cock<=20;如果全买母鸡,那么最多能买33只,所以0<=hen<=33;如果全买小鸡,那么最多只能买99只(由题可知,三钱一只小鸡,那么小鸡的数量应当是3的倍数而且小于100)。

判断条件:

(1)所买的3种鸡的钱数总和为100;

(2)所买的3种鸡的数量之和为100;

(3)所买的小鸡数必须是3的倍数。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
)">
下一篇>>