数独解算器

 

 

 

软件名称:数独解算器

软件版本:V1.2 Beta

软件授权:免费版

软件类别:工具软件

运行环境:Win9x/Me/NT/2000/XP/2003/Vista

软件语言:简体中文

软件大小:32 KB

主页地址:http://sites.google.com/site/wanzhisoft/number-matrix

软件下载:本地下载

 
  • 软件介绍
  • 软件安装
  • 软件使用
  • 软件许可协议
  • 关于数独

  •   软件介绍:
    NumberMatrix
    数独解算器是一个基于数独游戏的免费软件,可以根据用户输入的数独题目,自动解算出合适的数字矩阵。
     

      软件安装:
    纯绿色软件,无需安装,直接使用。
     

      软件使用:
    1、直接运行本软件。
    2、在数字矩阵格中填入已知的数字。填入方式可以选择以下几种:
             a、鼠标对高亮的矩阵方格双击或者左键单击,打开数字键盘,选择想要填入的数字。


             b、在矩阵方格被鼠标选中高亮以后,直接使用键盘数字键输入想要填入的数字。
    3、鼠标右键单击,取消矩阵方格中填入的数字,或者关闭打开的数字键盘。
    4、已知数字填写完毕,单击【求解】按钮,获取需要的数独矩阵。
    5、按钮功能:
             【求解】:根据输入的已知数字,自动完成数独的解算。
             【清除】:消除自动完成的数独矩阵中的数字,恢复到只包含已知数字的矩阵。
             【重置】:清除矩阵中的所有数据。重新开始填写和演算。
             【关闭】:关闭并退出程序。

      软件许可协议:
     您安装或者使用本软件的行为将视为对本协的接受及同意。除非您接受本协议,否则您无权下载、安装或使用本软件。
    1、本软件是免费许可软件,不进行出售。你可以免费的复制,分发和传播本软件, 但您必须保证每一份复制、分发和传播都必须是未更改过的,完整和真实的。您作为个人私用本软件。您只能对本软件进行非商业应用。
    2、没有经过作者的书面同意,您不得使用本软件支持任何商业实体或者商业行为。包含但不仅限于:直接或者间接使用本软件收费;使用本软件销售任何商品或者服务。
    3、本软件受版权法和国际版权条约以及其他知识产权法律和条约的保护。您不可以分解、反编译、反相工程和重构本软件。
    4、您在使用本软件中发生的任何行为都由您自己负责。您在此表示并且保证您只在遵守法律和本协议的情况下使用本软件,您不会使用本软件进行违反法律、违反规定或者损害任何第三方权利的行为,这些权利包含但不仅限于:隐私权、版权、专利权或者商标权。作者不对这些行为负责。
    5、对本软件产品不提供任何保证,不对任何用户因本软件所遭遇到的任何理论上的或实际上的损失承担责任,不对用户使用本软件造成的任何后果承担责任。
    6、协议所定的任何条款的部分或全部无效者,由协议中最接近的其他条款替代,并且不影响其它条款的效力。
     
    版权所有 @ 2008-2010 Wanzhisoft  保留一切解释权利。
     

      关于数独:
    相传数独源起于拉丁方阵(Latin Square),1970年代在美国发展,改名为数字拼图(Number Place)、之后流传至日本并发扬光大,以数学智力游戏智力拼图游戏发表。在1984年一本游戏杂志《パズル通信ニコリ》正式把它命名为数独,意思是“在每一格只有一个数字”。后来一位前任香港高等法院的新西兰籍法官高乐德(Wayne Gould)在1997年3月到日本东京旅游时,无意中发现了。他首先在英国的《泰晤士报》上发表,不久其他报纸也发表,很快便风靡全英国,之后他用了6年时间编写了电脑程式,并将它放在网站上,使这个游戏很快在全世界流行。
     
    香港是在2004年7月30日由《AM730》引入数独。
    后来更因数独的流行衍生了许多类似的数学智力拼图游戏,例如:数和、杀手数独。
     
    玩法:
     在9格宽×9格高的大九宫格中有9个3格宽×3格高的小九宫格,并提供一定数量的数字。根据这些数字,利用逻辑和推理,在其他的空格上填入1到9的数字。每个数字在每个小九宫格内不能出现一样的数字,每个数字在每行、每列也不能出现一样的数字。 这种游戏只需要逻辑思维能力,与数字运算无关。虽然玩法简单,但数字排列方式却千变万化,所以不少教育者认为数独是锻链脑筋的好方法。
     
    资料来源于 维基百科
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
法说明:用三个二维数组记录数每个点的状态,SD(i, j)显示数值,也是真实数值(1到9)。ST(i, j)状态,1可由用户输入,2是题目给定的,不能改。SY(i, j)这符串,记录每个点中可能的值。 1、在进行自动计时,只计ST(i, j)为1的点,首先将所有状态为1的点的SY(i, j)值全部设为"123456789",SD(i, j)值全部设为0 2、逐点扫描,找到一个点,然后将该点所在的行、列、区域中已存在的SD(x, y)值从SY(i, j)中删除,因为数规则是一个数值,在行、列、区域都不重复。 3、经第二步处理后,SY(i, j)为空,说明题目错误,SY(i, j)值为一位数字,就说明该点的值是唯一的,可以确定了。 4、剩余的SY(i, j)值最少也是二个数字的,或更多位数。随机从这些两位数的SY(i, j)中选取一个点。取其中的一位确定为该点的值后,重复第2步。如果错误遇错,则重复执行第4步。直到所有点都被确定。 注意:第2步是需要多次重复执行的,所有可用递归函数完成。如果执行结果出现错误(某数出现重复,或某点无值),需要对该过程所执行的所有操作进行回退。 第4步也是需要重复执行的。本和序用Goto跳转方式实现多次执行。 简单的数,要么所有的点都具有一值,第1步执行完成后,就已全部完成。或者具有多个,随意猜测一个二位数的SY(i, j)的值都能成功。 难的数,是可唯一确定的点很少,大部分点都有两种或多种可能的值,但最终正确答案只有一种或很少种。 软件在自动计过程中,具有很大的偶然性,对于骨灰级的数题目在计过程中,时间短的可能不到1秒就能完成,长的可能要几分钟,需要将各种可能性都测试一遍才有结果。 只要题目正确,多计几次就能得到答案。 程序只处理有两种可能值的情况,对只存在三种可能值的情况未进一步处理,该情况非常极端了。 软件中包含网上下载的200个数题目。
是一种经典的逻辑推理和填数字的游戏,其求过程可以通过编写代码来实现。下面是一个简单的数C代码的描述。 数的主要思路是通过回溯法来逐个填充数格子,然后检查填充的数字是否满足数规则。如果填写的数字使数有效,继续递归地填写下一个格子;如果填写的数字导致数无效,则回溯到上一个格子重新尝试其他的数字。 首先,需要定义一个函数来判断当前填充的数字是否符合数规则。这个函数需要检查当前数字是否和同一行、同一列以及同一个九宫格内的其他数字冲突。如果冲突,则说明当前数字无效。 然后,编写递归函数来填充数格子。递归函数需要遍历数的每一个格子,如果当前格子已经填充了数字,则跳过;如果当前格子未填充数字,则尝试从1到9逐个填充数字,并调用前面定义的函数来判断数字是否有效。如果数字有效,则递归地填充下一个格子;如果数字无效,则回溯到上一个格子重新尝试其他的数字。 最后,调用递归函数来填充数格子。可以使用一个二维数组来表示数,并将初始的数状态作为参数传入递归函数。在递归函数结束后,如果数全部填充完毕,则表明数,否则无。 这样,一个简单的数C代码就完成了。通过递归和回溯的方式,可以在较短的时间内找到数,并打印出来。当然,为了提高求效率,可以在代码中加入一些优化法,如剪枝等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值