文章目录
穷举法
-
穷举法的基本思想:一一列举所有可能的解,逐个验证是否符合“约束条件”,找出符合要求的解
-
穷举法适合求解的问题:可能的答案是有限个且答案是可知的,但又难以用解析法描述。这种算法通常用循环结构来完成
-
基本框架:
for(i=a;i<=b;i=i+步长)//根据指定范围实施穷举
{
if(…) //根据约束条件筛选
cout<<… //输出满足要求的解}
一.百鸡问题
“百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?
设鸡翁、母、雏分别为i,j,k首先确定i,j,k的取值范围
1.百钱最多可买鸡翁20只:i的值区间[0,20]
2.百钱最多可买鸡母33只:j值区间[0,33]
3.百钱最多可买鸡雏300只:k的值区间[0,300]
for(i=0;i<=20;i++)
for(j=0;j<=33;j++)
for(k=0;k<=300;k