肖攀123 肖攀123
关注数: 4 粉丝数: 200 发帖数: 1,536 关注贴吧数: 7
【求助】Fedora22 VirtualBox5.0安装总是出错。 总是出现 Start VirtualBox kernel modules 【失败】 这是log: ====================================================================== Uninstalling modules from DKMS Attempting to install using DKMS Creating symlink /var/lib/dkms/vboxhost/5.0.6/source -> /usr/src/vboxhost-5.0.6 DKMS: add completed. Kernel preparation unnecessary for this kernel. Skipping... Building module: cleaning build area... make KERNELRELEASE=4.1.8-200.fc22.x86_64 -C /lib/modules/4.1.8-200.fc22.x86_64/build M=/var/lib/dkms/vboxhost/5.0.6/build........ cleaning build area... DKMS: build completed. vboxdrv: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.1.8-200.fc22.x86_64/extra/ vboxnetflt.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.1.8-200.fc22.x86_64/extra/ vboxnetadp.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.1.8-200.fc22.x86_64/extra/ vboxpci.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.1.8-200.fc22.x86_64/extra/ Adding any weak-modules depmod.... DKMS: install completed. ===================================================================== 翻译看了一下,也没有说那里出现了错误。
【数独运算器】,关于数独的解题思路,已经改进。 源代码: ======================================================================= #include <stdio.h> #include <windows.h> char input(char sudoku[9][9]) { int calcline,calccolumn; for(calcline=0;calcline<9;calcline++) { if(calcline!=0&&calcline%3==0) { printf("一一一一一一一一一一一一一一一一一一一一一一\n"); printf(" 丨 丨\n"); } for(calccolumn=0;calccolumn<9;calccolumn++) { if(calccolumn!=0&&calccolumn%3==0) { printf("丨 "); } sudoku[calcline][calccolumn]=getche(); printf(" "); } if(calcline!=8) { printf("\n 丨 丨\n"); } } } char output(char sudoku[9][9]) { int calcline,calccolumn; printf("\n\n\n经过运算得出数独解:"); printf("\n\n\n"); for(calcline=0;calcline<9;calcline++) { if(calcline!=0&&calcline%3==0) { printf("一一一一一一一一一一一一一一一一一一一一一一\n"); printf(" 丨 丨\n"); } for(calccolumn=0;calccolumn<9;calccolumn++) { if(calccolumn!=0&&calccolumn%3==0) { printf("丨 "); } printf("%c",sudoku[calcline][calccolumn]); printf(" "); } if(calcline!=8) { printf("\n 丨 丨\n"); } } printf("\n\n"); getche(); } int UI() { HANDLE hOut=GetStdHandle (STD_OUTPUT_HANDLE); COORD bufferSize={0}; system("mode con cols=80 lines=60"); printf("\n\t\t\t++++++++++++++++++++++++++++++"); printf("\n\t\t\t+ +"); printf("\n\t\t\t+ 数独运算器 +"); printf("\n\t\t\t+ +"); printf("\n\t\t\t++++++++++++++++++++++++++++++"); printf("\n\n请输入数独已知数<未知数用0替代>"); printf("\n\n"); } int calibration(int x,int y,char sudoku[9][9]) { char array[9]={'1','2','3','4','5','6','7','8','9'},find; int calcline,calccolumn,n1,n2,n3; n1=(x/3)*3; n2=(y/3)*3; int calc=9; for(calcline=0;calcline<9;calcline++) { for(calccolumn=0;calccolumn<9;calccolumn++) { if(sudoku[x][calcline]==array[calccolumn]) { array[calccolumn]='x'; } if(sudoku[calcline][y]==array[calccolumn]) { array[calccolumn]='x'; } } } for(calcline=n1;calcline<n1+3;calcline++) { for(calccolumn=n2;calccolumn<n2+3;calccolumn++) { for(n3=0;n3<9;n3++) { if(sudoku[calcline][calccolumn]==array[n3]) { array[n3]='x'; } } } } for(calcline=0;calcline<9;calcline++) { if(array[calcline]=='x') { calc--; } else { find=array[calcline]; } } if(calc==1) { sudoku[x][y]=find; return 1; } else { return 0; } } int iszero(char sudoku[9][9]) { int x,y,calc,receive; calc=0; for(x=0;x<9;x++) { for(y=0;y<9;y++) { if(sudoku[x][y]=='0') { receive=calibration(x,y,sudoku); calc+=receive; } else { calc++; } } } return calc; } int main(void) { int calc; char sudoku[9][9]; UI(); input(sudoku); while(1) { calc=iszero(sudoku); if(calc==81) { output(sudoku); break; } } } ==================================================================== 发现了一个重大问题,就是用 行、列、宫对比的算法,只能用来求简单的熟读,高级的数独就解不出来了,求大神,是不是还需要写入高级算法,比如:区块摒除法、矩形摒除法、唯余解法这类算法,才能解出那种已知数非常少的数独。
1 下一页