穷举法则 穷举法

生活知识 2023-12-07 02:50:09
导读 大家好,我是小典,我来为大家解答以上问题。穷举法则,穷举法,很多人还不知道,现在让我们一起来看看吧!1、用穷举法解题时,就是按照某...
2023-12-07 02:50:09

大家好,我是小典,我来为大家解答以上问题。穷举法则,穷举法,很多人还不知道,现在让我们一起来看看吧!

1、用穷举法解题时,就是按照某种方式列举问题答案的过程。针对问题的数据类型而言,常用的列举方法一有如下三种:

2、(1)顺序列举 是指答案范围内的各种情况很容易与自然数对应甚至就是自然数,可以按自然数的变化顺序去列举。

3、(2)排列列举 有时答案的数据形式是一组数的排列,列举出所有答案所在范围内的排列,为排列列举。

4、(3)组合列举 当答案的数据形式为一些元素的组合时,往往需要用组合列举。组合是无序的。

5、例子如下:在公元五世纪我国数学家张丘建在其《算经》一书中提出了“百鸡问题 ”:

6、“鸡翁一值钱5,鸡母一值钱3,鸡雏三值钱1。百钱买百鸡,问鸡翁、母、雏各几何?”这个数学问题的数学方程可列出如下:

7、Cock+Hen+Chick=100

8、Cock*5+Hen*3+Chick/3=100

9、显然这是个不定方程,适用于穷举法求解。依次取Cock值域中的一个值,然后求其他两个数,满足条件就是解。

10、该问题的C语言程序算法如下:

11、int Cock,Hen,Chick; /*定义公鸡,母鸡,鸡雏三个变量*/

12、Cock=0;

13、while (Cock<=19) /*公鸡最多不可能大于19*/

14、{ Hen=0;

15、whlie (Hen<=33) /*母鸡最多不可能大于33*/

16、{Chick=100-Cock-Hen;

17、if (Cock*15+Hen*9+Chick==300)/*为了方便,将数量放大三倍比较*/

18、printf( 公鸡=%d 母鸡=%d 雏鸡=%d,Cock,Hen,Chick);

19、Hen=Hen+1;

20、}

21、Cock=Cock+1;

22、}

本文到此讲解完毕了,希望对大家有帮助。

免责声明:本文由用户上传,如有侵权请联系删除!