我是靠谱客的博主 不安黑裤,最近开发中收集的这篇文章主要介绍1、枚举算法枚举算法的基本思想枚举算法实例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

枚举算法的基本思想

● 枚举算法是我们在日常中使用到的最多的一个算法,它的核心思想就是:枚举所有的可能(穷举)。

● 枚举法的本质就是从所有候选答案中去搜索正确的解,使用该算法需要满足两个条件:(1)可预先确定候选答案的数量;(2)候选答案的范围在求解之前必须有一个确定的集合。

● 枚举结构:循环+判断语句。

枚举算法的优缺点

● 优点:算法简单,在局部地方使用枚举法,效果十分的好。

● 缺点:运算量过大,当问题的规模变大的时候,循环的阶数越大,执行速度越慢。

枚举算法实例

百钱白鸡:

  中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱白鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?

案例分析:

  如果用一百钱买一种鸡,那么,公鸡最多20只,母鸡最多33只,小鸡最多300只。但是题目要求买100只,所以公鸡的数量在0到20之间,母鸡的数量在0到33之间,小鸡的数量在0到100之间。我们把公鸡、母鸡、小鸡的数量分贝设为cock、hen、chicken,通过上述分析可知:

(1)0<=cock<=20

(2)0<=hen<=33

(3)0<=chicken<=100

(4)cock+hen+chicken==100

(5)cock*5+hen*3+chicken/3.0==100

#include <bits/stdc++.h>
using namespace std;
int main(){
int cock,hen,chicken;
for(cock=0;cock<=20;cock++){
for(hen=0;hen<=33;hen++){
chicken=100-cock-hen;
if(cock*5+hen*3+chicken/3.0==100){
cout<<"cock="<<cock<<"
hen="<<hen<<"
chicken="<<chicken<<endl;
}
}
}
return 0;
}

最后

以上就是不安黑裤为你收集整理的1、枚举算法枚举算法的基本思想枚举算法实例的全部内容,希望文章能够帮你解决1、枚举算法枚举算法的基本思想枚举算法实例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部