数独的简单实现

解答数独、自定义手动输入数独题目。快速生成数独答案。 立即下载

看射雕上有个神算子瑛姑算九宫求和数独的情节,黄蓉依靠背下来的口诀(戴九履一、左三右七、二八为肩、四六为足、五居其中)完美的实现了:纵横斜线上的数字之和都是十五的问题.

根据以前老师给的口诀(行减列加,不空放下,超限反极),琢磨调试一下,幸而通过,下面给出代码,有需要的可以研究一下.

运行效果如下图:


package com.m;

public class ShuDu {
    private int num;
    private final static int MAX = 5;
    ShuDu(int num) {
        this.num = num;
    }
    /*
     * 8 1 6 3 5 7 4 9 2
     */
    private void paint() {
        int data[][] = new int[MAX][MAX];
        int col = (num - 1) / 2, row = 0, lastcol,lastrow,count = 1;
        data[row][col] = count++;
        while (count <= num * num) {
            lastrow=row;
            lastcol=col;
            col++;
            row--;
            if (col >= num) {
                col = 0;
            }
            
            if (row < 0) {
                row = num - 1;
            }
            if (data[row][col] == 0) {
                data[row][col] = count++;
            } else {
                row=lastrow+1;
                col=lastcol;
                if (row >= num) {
                    row = 0;
                }
                if (col < 0) {
                    col = num - 1;
                }
                data[row][col] = count++;
            }
        }
        printData(data,num);
    }
    
    private void printData(int data[][],int num){
        for (int i = 0; i < num; i++) {
            for (int j = 0; j < num; j++) {
                if(data[i][j]>=10){
                    System.out.print(data[i][j] + " ");    
                }else{
                    System.out.print(" "+data[i][j] + " ");    
                }
                
            }
            System.out.println();
        }
    }
    
    public static void main(String[] args) {
        ShuDu mShuDu = new ShuDu(3);
        mShuDu.paint();
    }

}
sudoku469:数独小游戏 四宫格 六宫格 九宫格 数独469 一个Vue.js项目 构建设置 # install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production with minification npm run build # build for production and view the bundle analyzer report npm run build --report # run unit tests npm run unit # run e2e tests npm run e2e # run all tests npm test 有关工作原理的详细说明,请查看的和。 立即下载

相关推荐

【STM32】433MHz OOK信号软解码实战:从EV1527协议到嵌入式实现

本文详细介绍了基于STM32微控制器实现433MHz OOK信号软解码的完整实战过程。文章从EV1527协议解析入手,重点阐述了利用STM32的GPIO和定时器进行信号采样、脉宽还原、同步头识别以及数据位判决的核心算法,并提供了对抗无线干扰的容错优化策略,帮助开发者深入理解并掌握低成本无线通信的嵌入式实现方案。

weixin_29299807的博客 784

数独解题器强化版

经过实际测试,在解决高难度数独时,解题器的效果仍旧不理想,所以添加了数字提示功能。 另外添加了自定义数独数据功能。 MainWindow.xaml <Window x:Class="SudokuSolver.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ...

OneWord233的博客 3525

华为灵衢UB总线介绍

华为发布"灵衢"(UB)超节点互联协议,旨在构建支持AI大模型计算的基础设施。该协议采用统一内存语义和对等架构,使设备可直接访问远程内存,实现资源池化。技术突破包括2.1微秒超低时延和TB级带宽,支持64节点、52万张昇腾卡的集群互联。相比传统RDMA,"灵衢"更注重系统级资源调度,而非单纯数据传输。华为开放技术规范,推动生态建设,已有厂商开发兼容IP核。"灵衢"可适应x86、RISC-V等架构,未来将扩展至百万卡规模集群。

技术引领业务创新 4423

用MoonBit实现数独求解器,秒变最强大脑!

上文展示了简单的排除法和暴力搜索可以很快地解决一些数独难题,这并不是说数独是不值得玩的游戏,我想这一事实所揭示的是不必为某个久思不得其解的数独过于介怀。最普通的一种数独在9x9的方格上进行,我们将行(row)从上到下按A-I编号,列(column)从左到右按1-9编号, 这样就得到了网格中每个方格(square)的坐标,例如下面这个网格中数字0对应的坐标是C3。上面这两个函数会对它们所访问的每个方格应用启发式策略,一次成功的启发又会引入对新的方格的访问,让这些策略在网格间尽可能广地传播。

m0_74743788的博客 1964

Win10环境下VS2019离线部署OnnxRuntime的完整指南

本文提供了在Windows 10系统下,为Visual Studio 2019进行OnnxRuntime离线部署的完整教程。针对网络受限环境,详细讲解了如何获取正确的离线安装包、配置本地NuGet源,并逐步指导项目配置与测试,确保AI模型在C++环境中顺利运行。

weixin_29205061的博客 400

手把手教你搞定6脚三位一体数码管的驱动(附C语言源码与Visual Studio调试技巧)

本文详细解析了6脚三位一体数码管的驱动原理与实战技巧,包括引脚复用、动态扫描时序、Visual Studio模拟调试及单片机实现。通过C语言源码示例和调试技巧,帮助开发者快速掌握非标准数码管的驱动方法,提升硬件开发效率。

weixin_30613727的博客 591

数独小游戏开发(1)---自定义界面

放假闲着没事,自己写个小游戏练练手 平时看到的数独小游戏的界面都是直接一个9×99\times99×9的小方格,这里使用自定义View实现。 重写onDraw()实现自定义界面的显示 @Override public void onDraw(Canvas canvas) { // super.onDraw(canvas); //浅色线条 Paint grayPaint = new Paint(); grayPaint.se.

weixin_45980031的博客 1561

完整指南:从基础到高级使用 Semantic Kernel

通过本文的学习,你已经掌握了从基础到高级的使用方法。安装并配置。使用简单的文本生成和自然语言处理任务。利用任务链和工具扩展构建复杂的工作流。通过记忆管理上下文,创建更智能的应用。扩展多模态处理能力,集成图像和音频分析。将应用部署到云端,并通过 Azure Functions 提供智能服务。无论是构建简单的对话应用,还是创建多模态智能服务,都提供了强大的工具和灵活的扩展机制。希望这篇文章能帮助你更好地理解并运用这个框架,构建出更加智能和高效的应用。

net core ,前端 ,python 全栈开发 2805

自定义控件:数独游戏(二)

  老师视频教程结束了,但是游戏并未完成。下面便开始自己动手完善部分功能   需要完善的功能:   1、设置给定的数独数据数字不可改变   2、设置给定的数独数据数字和玩家填入的数字颜色不同,方便区分   3、判断填写后的数独是否符合数独游戏规则   4、数字选择兑对话框添加清除和取消按钮,并每次选择时显示所有的数字(原来思路是只显示符合规则的数字,这样当出现错误之后,后面...

defukwanmcth26174的博客 576

总结-NuerIPS2023-Direct Preference Optimization:Your Language Model is Secretly a Reward Model

对比PPO,DPO的泛化能力更强。

m0_60361484的博客 1606

schrodinger 薛定谔

链接: https://pan.baidu.com/s/1Duh4GsoytIklvZp7TdHpWg 密码: wmr1 Linux系统版 进入 Schrodinger_Suites_2021-2_Linux-x86_64 sudo ./INSTALL 中间按默认的来即可,也可以自己调整安装目录。安装目录一定要记住。 安装完,把patcher 拷贝到安装目录 sudo ./patcher 点击Patch即可。 启动程序,进入安装目录 ./maestro ...

周迪新的博客 1万+

vue: 做一个数独游戏

练习使用VUE制作一个数独游戏:判断方法比较简单,没有使用算法,只是单纯的判断数字是否重复出现,功能简单,游戏开始后可以选择看提示,提示出现时间5秒,倒计时结束后,可正常答题,有提交功能(校验)判断是否填完或者时候填写准确。

m0_64393334的博客 1508

TCN实战:用Python手把手搭建时序预测模型(附完整代码)

本文详细介绍了如何使用Python搭建TCN(Temporal Convolutional Network)时序预测模型,包括数据预处理、模型架构实现、训练调优及预测评估。通过完整的代码示例和实用技巧,帮助开发者快速掌握TCN在时间序列预测中的应用,特别适合处理长期依赖问题。

weixin_29041195的博客 372

C++实现简单数独游戏

用C++实现简单数独游戏 有计时、难度选择、抽取题目功能。 不过因为本来没花多少时间做,所以只有一个题

weixin_52828997的博客 7764

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

基于C++和QT实现的简单数独游戏软件

槽函数对应了各个控件,在控件发生对应的事件时(本程序中,除了更改搜索模式,均是点击按钮操作),会触发槽函数。黑色表明是初始状态(被锁定,玩家无法修改),蓝色是玩家自行填入的数字,绿色是当前提示的数字(如果再进行提示等操作,则会变为蓝色)。此时,如果数独有解,会检查是否存在逻辑上一步可以推理出唯一解的格子,如果有,则填入,否则填入可填入可能性最少的格子。该部分将简单介绍实验中的函数拆分与图形化实现的细节,例如,包括哪些函数,函数参数是什么,作用是什么等。首先是一个9*9的矩阵,记录了数独每个位置上的数字。

毕业作品网站 2610

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java完成九宫格数独_简单实现java数独游戏

本文实例为大家分享了java数独游戏的具体代码,供大家参考,具体内容如下打算把javaFx需要的组件装好以后直接用javaFx的,但似乎eclipse的版本不对,安装了也不能用...数独代码是在之前寒假受命写的,学了一个月java的成果,现在看来有些不足但毕竟是第一个程序,就直接放上来,数独终盘的实现直接用了暴力,时间复杂度有点高,懒得改了直接放代码终盘实现:import java.util.Ra...

weixin_34190683的博客 1729

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java实现简单数独游戏

本来打算晚上把javaFx需要的组件装好以后直接用javaFx的,但似乎eclipse的版本不对,安装了也不能用,非洲人非了一天... 数独代码是在之前寒假受命写的,学了一个月java的成果,现在看来有些不足但毕竟是第一个程序,就直接放上来,数独终盘的实现直接用了暴力,时间复杂度有点高,懒得改了直接放代码 终盘实现: import java.util.Random; public ...

词庸 1万+

数独生成算法的简单实现

简单的数独生成(伪随机)

m0_62916138的博客 4290

java编写数独_简单实现java数独游戏

本文实例为大家分享了java数独游戏的具体代码,供大家参考,具体内容如下打算把javaFx需要的组件装好以后直接用javaFx的,但似乎eclipse的版本不对,安装了也不能用...数独代码是在之前寒假受命写的,学了一个月java的成果,现在看来有些不足但毕竟是第一个程序,就直接放上来,数独终盘的实现直接用了暴力,时间复杂度有点高,懒得改了直接放代码终盘实现:import java.util.Ra...

weixin_42350940的博客 2790

python可以数独游戏吗_简单实现python数独游戏

import randomimport itertoolsfrom copy import deepcopydef make_board(m = 3):numbers = list(range(1, m**2 + 1))board = Nonewhile board is None:board = attempt_board(m, numbers)return boarddef attempt_b...

weixin_39607798的博客 128

9 9简单的数独游戏python_python实现数独游戏 java简单实现数独游戏

使用python和java实现数独游戏,有比较才有收获哦。1、Python版#--coding:utf-8--import randomimport itertoolsfrom copy import deepcopydef make_board(m=3):numbers = list(range(1,m**2+1))#可能出现的数字为1-9board = None#board是数度二维列表whi...

weixin_32999397的博客 470

9 9简单的数独游戏python,python实现数独游戏 java简单实现数独游戏

使用python和java实现数独游戏,有比较才有收获哦。1、Python版#--coding:utf-8--import randomimport itertoolsfrom copy import deepcopydef make_board(m=3):numbers = list(range(1,m**2+1))#可能出现的数字为1-9board = None#board是数度二维列表whi...

weixin_35143455的博客 282

数独android程序,简单实现Android数独游戏

本文实例为大家分享了Android数独游戏的具体代码,供大家参考,具体内容如下实现了点击了相关的单元格之后会显示出对话框提示可选数字。原始的自定义对话框仍旧不能满足我们的要求,原始的自定义对话框只能够生成Bulider对象 然后通过LayoutInflater获取相应的View 对象(其实就是Layout 布局文件)其实也是可以的,只是我们不能再次进行一些其他的操作了,比如说我们即使设置了Tab...

weixin_29552815的博客 1306

python可以数独游戏吗_python实现数独游戏 java简单实现数独游戏

使用python和java实现数独游戏,有比较才有收获哦。1、Python版#--coding:utf-8--import randomimport itertoolsfrom copy import deepcopydef make_board(m=3):numbers = list(range(1,m**2+1))#可能出现的数字为1-9board = None#board是数度二维列表whi...

weixin_40008884的博客 137
上一篇: 几个常用windows命令行
下一篇: 计算机研究生复试上机题目:顺时针螺旋矩阵简单实现
莫卢俊德
博客等级 码龄20年 6粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值