matlabを使ってなぞなぞを解こうとしています。これは、なぞなぞそのものよりも、matlab に関するものです (なぞなぞは、日刊紙から取られています)。
なぞなぞは、文字で表された 2 つの 3 桁の数字を出します。参加していない数字 (0-9) を見つける必要があります。
aba-dcc=efe; aba+dcc=ghi
今、私は9つの未知数を持つ2つの方程式を持っています. whileループで、ベクトル0:9のすべての順列をチェックすることで、なんとか解決しました。
vecAns = 0:9;
P = perms(vecAns);
P = P(:,1:9);
A = [ 101 10 -100 -11 -101 -10 0 0 0 ;...
101 10 100 11 0 0 -100 -10 -1];
resVec = [0;0];
found=false;
i=1;
h = waitbar(0,'Computing');
while found==false
Res=A*P(i,:)';
if (Res(1)==0)&&(Res(2)==0)
break;
end
i=i+1;
waitbar(i/length(P),h,sprintf('%d%%',i/length(P)*100));
end
close(h)
問題を解決する方法はありますか (数学的な考慮事項を追加せずに)。たとえば、すべての未知数は整数で、0 ~ 9 の範囲内でなければならないことがわかっています。
方法がない場合。どうすれば効率化できますか?