枚举:枚举对象、枚举范围、判定条件。
百钱买百鸡
我的代码:
/*
Enumeration
xiaoji.c
Enumeration Object,Range and Judgement.
Object:
xj mj gj
Range
mj <= 33, gj <= 20, xj <= 300
Judgement
mj*3 + gj*5 + xj*1/3 = 100;
*/
#include
//int xj = 0, mj = 0, gj = 0;
int main()
{
for (int xj = 0;xj <= 300;xj++)
{
for(int mj = 0;mj <= 33; mj++)
{
for(int gj = 0;gj <= 20;gj++)
{
if ((xj%3==0)&&(xj/3 + mj*3 + gj*5 == 100)&&(mj + gj + xj==100))
printf("xj = %d, mj = %d, gj = %d\n",xj,mj,gj);
}
}
}
}
‘’基于枚举算法的优化方法研究‘’给出了缩小枚举范围的方法。
其实可以不用getch()函数来避免vs运行时命令行一闪而过,使用Ctrl + F5运行即可。F10相当于Matlab的Step F11相当于Step in
填写运算符
枚举范围应该刨除不符合题目规则的枚举项。并不是所有的枚举项都合法。
我的代码:

本文记录了对《常用算法深入学习实录》中枚举算法的学习心得,探讨了如何通过枚举对象和范围优化算法,并以百钱买百鸡问题为例,展示了代码实现。此外,还分享了在VS环境下避免命令行窗口快速关闭的技巧,以及枚举范围的确定应该排除不合法的选项。
最低0.47元/天 解锁文章
693

被折叠的 条评论
为什么被折叠?



