码迷,mamicode.com
首页 > 其他好文 > 详细

一种不用递归解决数独问题的思路

时间:2020-03-25 19:34:54      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:span   问题   load   解决   过程   http   结束   函数   在家   

 

过年放假在家,偶然看到老妈在玩数独(Sudoku),想着这完全可以写个程序解决数独问题呀,上网搜了一下大家的思路,发现代码最简单的还是递归算法,不过感觉递归算法有些无脑,运算量又大,想着自己能不能模拟一下人玩数独的思路,让计算机以相对聪明一点点的方式去计算数独的结果呢?

基本思路:对每一行,每一列和每一小九宫格作为一个单元进行分析,共有9*3=27个单元。对于这每一个单元来说,写一个函数need_what来计算一下1-9中还有哪几个数字没有用到,并找出没有填数字的位置坐标。对于每一个没有填数字的位置来说,用剩余的几个数字试着去填,当这个位置有且只有一个数字可以填入时,那么将数字填入此处,否则暂不处理。将对行、列、九宫格填数的过程放入while循环中,结束条件为九宫格全部完成。

源代码请移步GitHub:https://github.com/nickwu96/Sudoku

部分代码截图如下:

技术图片

运行截图如下:

技术图片

 

一种不用递归解决数独问题的思路

标签:span   问题   load   解决   过程   http   结束   函数   在家   

原文地址:https://www.cnblogs.com/nickwu/p/12568457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!