博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
试探算法
阅读量:4696 次
发布时间:2019-06-09

本文共 771 字,大约阅读时间需要 2 分钟。

 

试探法,也成为回溯法,是一种系统的搜索问题的方法,下棋的时候棋手采用的就是试探法。

算法思路:

为了求得问题的解,先选择某一种可能的情况进行咨询,在试探过程中,一旦发现原来选择的假设情况是错误的,就得退回一步重新选择。继续向前试探,如此反复进行。直到得到解或者证明无解。

实例,生成彩票号码组合

假设有一种彩票,每注由7个1-29的数字组成,且这七个数字不能相同,编写程序生成所有的号码组合。

#include 
#define MAXN 7 //设置每一注彩票的位数#define NUM 29 //设置组成彩票的数字 int num[NUM];int lottery[MAXN];void combine(int n, int m){ int i,j; for(i=n; i>=m; i--){ lottery[m-1] = num[i-1];//保存一位数字 if(m>1){ combine(i-1,m-1); } else{ //如果m等于1,就输出一注号码 for(j=MAXN-1; j>=0; j--){ printf("%3d",lottery[j]); } getch(); printf("\n"); } }} int main(void){ int i,j; for(i=0; i

 

转载于:https://www.cnblogs.com/zhaojianbin/p/5997315.html

你可能感兴趣的文章
如何在C/C++中动态分配二维数组
查看>>
Mysql Explain用法pdf
查看>>
从你月入2000元开始规划你的人生...
查看>>
CSHARP-349
查看>>
基数排序
查看>>
跟我学android-Android应用基本组件介绍(五)
查看>>
UIAlertView
查看>>
通过Instant Client包来使用SQL*PLUS
查看>>
ArcGIS:ArcToolBox工具使用——提取DEM/DSM中的高程点
查看>>
Dwarf Tower
查看>>
pat 1074. 宇宙无敌加法器(20)
查看>>
2.Linux环境下配置Solr4.10.3
查看>>
sqlServer 获取最新的一条数据
查看>>
day29
查看>>
Java Web ServletResponse
查看>>
HTML静态网页--JavaScript-语法
查看>>
es 的crud
查看>>
视频采集以及播放的流程
查看>>
mapreduce排序比较器的选取
查看>>
“饮水机”:形象比喻 深入浅出理解RAID
查看>>