首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > Java > 可扩充的数独的生成与求解的实现

可扩充的数独的生成与求解的实现

  • 资源大小:6.06 kB
  • 上传时间:2021-06-30
  • 下载次数:0次
  • 浏览次数:0次
  • 资源积分:1积分
  • 标      签: 实现 生成 求解 扩充

资 源 简 介

说明 数独作为深受广大用户喜爱的数学智力游戏,有着其独到的魅力和乐趣。对于编程人员而言,其算法的实现与效率也是个值得讨论和研究的话题,本着对数独的兴趣和个人的研究,在此发布可扩充的数独的生成与求解,普通的数独为9*9宫格,本项目提供的是基于n(n>=2)的数独研究以供大家参考、学习与交流。 设计思路 作为一个可扩充的数独实现,不仅仅是数字上的扩充,还包括求解的可扩展性。整个项目的核心是围绕数独的数据结构来实现的,基于数独的平面表示,在java中使用二维数组(two-dimension array)来描述数独的数据结果,对应的就是项目中的NPalace 类。这个类中重要的就是nsize的概念,对应的就是数独中每行的小宫格的数目,比如9宫格的数独其nsize就是3,这个nsize是可以任意设置的。该类也提供了很多常用的方法来获取数据,如下: ``` // 构造方法 public static NPalace newInstance(); // 创建默认的9宫格数独 public static NPalace newInstance(int nsize); // 创建指定大小的数独 // 设置和获取某个位置的值,其中palaceIndex指每个小宫格的索引,从0开始;有palaceIndex参数的方法中的 // x,y参数表示的是该小宫格的坐标(左上角为(0,0));没有的则是整个大宫格的坐标位置; public boolean setValue(int palaceIndex, int x, int y, int value); public boolean setValue(int x, int y, int value); public int getValue(int palaceIndex, int x, int y); public int getValue(int x, int y); // 获取某个小宫格的值,第一个方法中的x,y是对整个大宫格而言的坐标,返回包含该位置的小宫格的数组值;

文 件 列 表

sudoku
src
VIP VIP
0.182066s