C语言只能实现解数独程序
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要介绍"C语言只能实现解数独程序"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"C语言只能实现解数独程序"文章能帮助大家解决问题。用C语言写的解数独的
千家信息网最后更新 2025年01月31日C语言只能实现解数独程序
这篇文章主要介绍"C语言只能实现解数独程序"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"C语言只能实现解数独程序"文章能帮助大家解决问题。
用C语言写的解数独的程序。在linux下测试成功运行。
效果如图:
这是带解的数独,需要填写的部分用数字0代替。
这是程序运行后的效果图。看看,数独已经搞定啦。
程序源码如下:
#include#include #define SIZE 9#define get_low_bit(x) ((~x&(x-1))+1) struct{ int left; char num; char try;}board[SIZE][SIZE]; int bit2num(int bit){ switch(bit){ case 1:case 2: return bit; case 4: return 3; case 8: return 4; case 16: return 5; case 32: return 6; case 64: return 7; case 128: return 8; case 256: return 9; } } void printf_res(){ int i, j, k; for(i=0; i 0) printf("\033[0;31m%2d\033[0m", board[i][j].num); else printf("%2d", board[i][j].try); } printf("|\n"); } for(i=0; i 0) sub(i, j, 1<<(board[i][j].num-1)); else if(board[i][j].try > 0) sub(i, j, 1<<(board[i][j].try-1));} void add(int i, int j, int bit){ int k, m; for(k=0; k 0) solve(pos+1); else for(left=board[i][j].left; left; left&=(left-1)) { bit = get_low_bit(left); sub(i, j, bit); board[i][j].try = bit2num(bit); solve(pos+1); add(i, j, bit); board[i][j].try=0; init(); } } int main(){ int i, j, c; for(i=0; i '9') ; board[i][j].num = c-'0'; board[i][j].try = 0; board[i][j].left = 0x0001FF; } init(); solve(0); return 0;}
关于"C语言只能实现解数独程序"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
程序
解数
语言
知识
效果
行业
这是
j++
运行
不同
实用
成功
内容
实用性
实际
效果图
数字
文章
方法
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器吵
奇安信网络安全认证助理工程师
浪潮服务器主板电池如何抠出
网络安全之电信诈骗
天河区正规网络技术开发咨询报价
职业院校网络安全集团
数据库及其应用课后题
富兰克林的宇宙数据库
软件开发测试 配置类
计算机网络技术专业宣传标语
网络安全等级保护条例全文
mysql数据库访问
国际版普通生存服务器推荐
戴尔服务器raid怎么去掉硬盘
网络安全为人民网络靠人民海报
网络安全服务存在问题
位于digest的服务器
首都网络安全日设立
政企网络安全意识建议
vb中数据库删除语句
广东服务器维修调试虚拟主机
服务器怎么设置双网段
时尚天河网络安全
网络安全在职研究生免考学校
网络安全宣传活动周安排会议
阿里云如何管理网站数据库
猿宝互联网科技招聘
昆明圣科网络技术有限公司
网络安全中的病毒
vb中数据库删除语句