C语言while公鸡母鸡小鸡,c语言编程(循环嵌套)

此题就是“百钱买百鸡问题”。一般都是用不定方程求解,小学生,甚至初中生都很难弄懂,本文采用“分组”法求解,小学生是可以看懂的。

分析与解 因为100文钱,买100只鸡,所以平均1文钱买1只鸡。每小组4只鸡:其中1只母鸡和3只小鸡,共值4文钱。

(因为1只母鸡3文钱,3只小鸡1文钱),恰好是平均1文钱买1只鸡。

每大组7只鸡:其中1只公鸡和6只小鸡。共值7文钱。(因为1只公鸡5文钱,3只小鸡1文钱,6只小鸡2文钱),恰好是平均1文钱买1只鸡。

无论100只鸡共可分成多少个大组和多少个小组,都是平均每1文钱买1只鸡。

100只鸡共可分成多少个大组和多少个小组呢?

通过分析试探可发现有以下几种情况。

①分成4个大组,18个小组。

4个大组中公鸡有:1×4=4(只)

4个大组中小鸡有:6×4=24(只)

18个小组中母鸡有:1×18=18(只)

18个小组中小鸡有:3×18=54(只)

这种情况共有公鸡4只,母鸡18只,小鸡(24+54=)78(只)。

②分成8个大组,11个小组。

8个大组中公鸡有:1×8=8(只)

8个大组中小鸡有:6×8=48(只)

11个小组中母鸡有:1×11=11(只)

11个小组中小鸡有:3×11=33(只)

这种情况共有公鸡8只,母鸡11只,小鸡(48+33=)81(只)。

③分成12个大组,4个小组。

12个大组中公鸡有:1×12=12(只)

12个大组中小鸡有:6×12=72(只)

4个小组中母鸡有:1×4=4(只)

4个小组中小鸡有:3×4=12(只)

这种情况共有公鸡12只,母鸡4只,小鸡(72+12=)84(只)。

所以本题共有三种可能性:公鸡买4只,母鸡买18只,小鸡买78只;或公鸡买8只,母鸡买11只,小鸡买81只;或公鸡买12只,母鸡买4只,小鸡买84只。

设公鸡、母鸡、小鸡的数目分别为x,y,z,依题意,列方程

消去z,化简得

7x+4y=100 (1)

在式(1)中,4y,100都是4的倍数,因此,7x也应是4的倍数,但7不是4的倍数,于是只能是x必为4的倍数。

取x=4,8,12,…,列表

The 1: a=3 ,b=20,c=77

The 2: a=4 ,b=18,c=78

The 3: a=7 ,b=13,c=80

The 4: a=8 ,b=11,c=81

The 5: a=11,b=6 ,c=83

The 6: a=12,b=4 ,c=84

C编程:

main( )

{

int cocks,hens,chicks;

cocks=0;

while(cocks if(5*cocks+3*hens+chicks/3==100&&chicks%3==0)

printf("%d,%d,%d\n",cocks,hens,chicks);

hens=hens+1;

}

cocks=cocks+1;

}

}

全部

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值