
数独
打开秋天的内核
自学者
展开
-
2020-10-19
制表符的运用在一个4×4的方阵中,每行每列都有两颗“*”,例如下图所示,求所有满足条件的方阵。┌───┬───┬───┬───┐│ * │ │ │ * │├───┼───┼───┼───┤│ │ * │ * │ │├───┼───┼───┼───┤│ │ * │ │ * │├───┼───┼───┼───┤│ * │ │ * │ │└───┴───┴───┴───┘编程思路还是相当简单,就不表述了,直接上代码,如有雷同,纯属意外。import cop原创 2020-10-19 21:51:39 · 147 阅读 · 1 评论 -
2020-10-16
Java解数独效率提升方法参考:深度搜索(递归)虽说Java的运算速度确实快,但追求算法和提速是永恒的主题。不满来自以下情况:0 0 0 0 0 2 0 5 0 0 7 8 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 3 0 7 0 8 2 0 0 0 0 0 0 4 0 0 0 0 0 0 5 0 9 0 0 1 0 0 7 0 0 0 0 3 9 6 7 1 2 8 5 4原创 2020-10-16 21:00:25 · 145 阅读 · 1 评论 -
2020-10-13
深度搜索(递归)采用Java解数独还是第一次。由于Java的运算数独较Python快很多,在算法上就没有那么多讲究了。验证了几个高难度数独,都是秒解。解题的思路采用深度搜索递归的方式进行。package good;public class SDK { static int[][] arr1={{8, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 3, 6, 0, 0, 0, 0, 0}, {0, 7,原创 2020-10-13 21:07:03 · 133 阅读 · 2 评论 -
2020-08-19
高精度简易计算器编程思路:1、导入Decimal,精度设置为小数点后100位。2、把输入的计算表达式(字符串)按列表形式保存。3、判断列表中的数字s,把数字用Decimal(s)进行替代。4、再把替换后的列表转换成字符串。5、采用exec函数执行字符串表达式。6、获取高精度的计算结果(精确到小数点后100位,可以设置小数点后任意位)。from decimal import *import copygetcontext().prec = 100 # 计算精度设置base_data原创 2020-08-19 23:22:01 · 697 阅读 · 0 评论 -
编程心得
解数独(续)请参考编程解决数独问题,效率和简洁并存很少使用类处理问题,就在解数独上试着用了一下,看看效果怎么样,其实也都差不多,直接看代码吧。""" The program is debugged successfully in Python 3.8, and the coding conforms to pep8 specification"""sd1 = [0, 0, 2, 8, 0, 1, 0, 7, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 5原创 2020-08-02 09:25:26 · 149 阅读 · 0 评论 -
编程心得
关于数独破解思路的一点说明在确立解题思路前,重点对零点可填数字的个数进行量化分析,绘制折线图。import matplotlib.pyplot as pltsdk = [0, 0, 5, 3, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 7, 0, 0, 1, 0, 5, 0, 0, 4, 0, 0, 0, 0, 5, 3, 0, 0, 0, 1, 0, 0, 7, 0, 0, 0, 6,原创 2020-07-04 21:59:03 · 121 阅读 · 0 评论