この小さなスニペットでは、乱数を生成し、それが行と列の一部であるかどうかを確認します。どちらの一部でもない場合は、乱数を挿入します。すでに3x3のボックスに入っている番号を入れる可能性があることは知っていますが、それは私が修正できる問題です。これが私のスニペットです。コード全体が必要な場合は編集します。私のコード全体は約100行です。
% Find empty slots, generate random number 1 - 9, insert into slot.
for i=1:9
for j=1:9
number = board(i,j);
answer = ceil(9*rand(1,1));
row = board(i,:);
col = board(:,j);
if number==0 && (ismember(answer,row)==0) && (ismember(answer,col)==0)
board(i,j) = answer;
end
end
end
私の問題は、これを実際の未解決のパズルで実行したとき、1)スロットに11が挿入されたということですが、それはどのように可能ですか?2)同じ番号が複数ある行と列がまだ表示されます。
君たちありがとう。