1.枚举算法的核心思想:
将所有问题的可能性一一列举。
2.枚举算法的应用:
《百钱找百鸡》
问题:
公鸡每只5元,母鸡每只3元,小鸡3只1元。用100元买100只鸡
问公鸡,母鸡,小鸡各多少?
3.解决问题的核心思想:
以3种鸡的个数为枚举对象(gj,mj,xj)
4.枚举条件:
gj+mj+xj=100;[个数之和]
gj5+mj3+xj/3=100;[用钱之和]
xj%3==0;[小鸡个数一定可以取余3,因为xj个数和购买花的钱必须为整数]
5.代码实现:
int main()
{
//过程:分别枚举公鸡,母鸡的个数范围满足条件进行输出。
int x, y, z;//分别表示公鸡,母鸡和小鸡的个数
for (x = 0; x <= 20; x++)//公鸡个数范围:0-20只,用100元除以每只公鸡的钱
{
for (y = 0; y <= 33; y++)//母鸡个数范围:0-33只,用100元除以每只母鸡的钱
{
z = 100 - x - y;//z表示小鸡的个数
if (z % 3 == 0 && x * 5 + y * 3 + z / 3 == 100)
printf("公鸡:%d,母鸡:%d,小鸡:%d\n", x, y, z);
}
}
getch();
return 0;
}
6.代码实现效果图:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。