C语言实现百钱白鸡问题

百钱白鸡问题

 鸡翁一,值钱5;鸡母一,值钱3;鸡雏三,值钱1。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
  • 首先判断题目:一百文钱买一百只鸡,公鸡5块钱一只,母鸡3元一只,小鸡一元3只。
  • 两个固有条件“”100文钱“”100只鸡”,满足则输出一次组合。
  • 可以用穷举法依次判断是否满足固有条件。
  • 代码如下:
#include<stdio.h>
 
int main()
 
{
 
 int a,b,c;   // abc分别为公鸡,母鸡,小鸡。
 
 for (a = 0; a <= 20; a++)    //根据公鸡5元判断最多20只
 
  for (b = 0; b <= 33; b++)  //根据母鸡5元判断最多20只
 
  {
 
   c = 100 - a - b;    //   100只鸡去掉公母 为小鸡个数
 
   if (c%3==0 && 5*a + 3*b +c/3 == 100) //固有条件
 
    printf("鸡翁%d只,鸡母bai%d只,鸡雏%d只\n",a,b,c);
 
  }
 
 return 0;
 
}

穷举法:
穷举法又称列举法、bai枚举法,是蛮力策略du的具体体现,是一种简单zhi而直接地解决问题的方法。dao其基本思想是逐一列举问题所涉及的所有情形,并根据问题提出的条件检验哪些是问题的解,哪些应予排除。
穷举可作为某类问题时间性能的底限,用来衡量同样问题的更高效率的算法。
简单说:就是把所有符合条件的组合可能都尝试一遍,此算法需要花费的时间长

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值