简单的暴力故障排除
Simple brute force troubleshoot
我需要帮助修复对一组数字1=9的非常简单的暴力攻击。我的目标是解决一个sudoko板,其中一行充满了8个数字,所以这一行只能剩下一个数字
int radd1=deduct[0][0]+deduct[0][1]+deduct[0][2]+deduct[0][3]+deduct[0][4]+deduct[0] int test=0;
if (radd1==8) {
for (int control=0; control<9; control++) {
if (dash[0][control]=='_') {
empty=control;
}
}
for (int control2=0; control2<9; control2++) {
if (control2!=empty) {
test=test+dash[0][control2];
}
}
cout << test << endl;
}
更多信息:
整个求解基于一个9x9字符,该字符填充了数字,以进入其适当的位置。此字符称为dash[9][9]
deduct[9][9]
字符是dash[9][9]
的重复,不同之处在于它不是实际的数字,而是1
。这样我就可以把整行加起来,如果它等于8
,就用我的简单暴力(如果这是正确的项)来找到最后的第九个数字。empty
是一个int。它存储(在本例中)没有数字的列编号
发现问题了吗?
- 在添加radd1时使用
deduct[0][9]
是错误的,对吧 - 与
dash[0][control3]
的比较是在一个周期内进行的,因此测试值始终取决于该周期的最后一次迭代。(在这种情况下,control2+1
对dash[0][8]
。我想如果存在等式,你就必须打破循环 - 将
control2+'1'
指定给dash[0][empty]
,但稍后使用control+1
。(不是一回事) - 条件
if (test==1)
中的整个赋值和比较感觉不太对劲,但我们不能仅从包含的代码中确定它是否正确
有一种更好的方法可以找到尚未使用的数字。我们知道1+2+..+9 = 45
的和,所以你只需要对出现的数字求和,减去45就可以得到缺失的数字。
相关文章:
- Geeksforgeeks C 程序故障排除:IEE 754 表示法为十进制
- 如何进行故障排除:未定义对"非虚拟 thunk to ..."的引用
- 针对代码::块设置的 SFML 故障排除
- 对"无效的抽象返回类型"进行故障排除
- 需要帮助对内存泄漏源进行故障排除 - C++
- 使用许多嵌套的#include语句对编译器错误进行故障排除
- 仅制作一列qtreewidget可编辑//故障排除
- 如果说明故障排除
- Ole 拖放故障排除
- 对简单 Arduino 类进行故障排除
- 强名称dll-如何进行故障排除
- C++:使用嵌套的 if/else 语句循环进行故障排除
- 对我的 c++ 程序进行故障排除
- OpenCV 3.0 源代码安装故障排除
- C++对我的命令行计算器进行故障排除
- C++:对循环进行故障排除
- 如何对CMake构建的不可复制SegFault进行故障排除
- 简单的暴力故障排除
- 故障排除delete[](损坏的未排序块)
- 故障排除_mkdir故障