간단히 말해서 내 문제를 요약하면 누락 된 값이 하나있는 경우 각 3x3 상자를 검사하고 있습니다. 숫자가 무엇인지 계산 한 다음 해당 숫자를 채 웁니다. 그러나, 그것은 단지 왼쪽 상단의 3x3 상자를 수행하고 거기서 멈 춥니 다. 다음은 내 문제와 관련된 코드의 스 니펫입니다. 나머지 코드를보고 싶으면 나머지를 게시합니다.스도쿠 해 찾기, 각 3x3 상자를 확인하십시오
편집 : 사용자가 보드를 입력합니다. 테스트를 위해 완성 된 스도쿠 퍼즐을 입력하고 각 상자의 오른쪽 상단 값을 꺼내 봤습니다. 그것은 첫 번째 3 × 3 말, 여전히 출력 보드에 가득하지만
% Check each 3x3 box for one through nine, fill in
for i = 0:2
for j = 0:2
if sum(sum(board([1:3]+i*3,[1:3]+j*3)~=0))==8
[row,col] = find(board([1:3]+i*3,[1:3]+j*3)==0);
answer = 45 - sum(sum(board([1:3]+i*3,[1:3]+j*3)));
board(row,col) = answer;
end
end
end
disp(board);
와우, 나는 그걸 보았다고 생각할 수 없다. 고마워요! 당신은 큰 도움이되었습니다. 그 블록을 테스트하고 의도 한대로 작업 :) –