Я должен определить вероятность 4 одинаковых карт в 5-карточном покере с использованием Matlab. Я понимаю, что первое, что мне нужно сделать, это собрать колоду и перетасовать карты, а затем взять 5 карт. У меня возникли проблемы с определением, является ли рука четверкой или нет. Ниже я написал код, который работает для перетасовки колоды и вытягивания 5 карт. Я попытался использовать оператор if, чтобы определить, является ли рука четверкой или нет, но это не сработало. Мое обоснование утверждения if заключалось в том, что если бы у меня уже был отсортированный вектор, единственными двумя возможными вариантами были бы первые 4 или последние 4 числа, которые должны быть равны друг другу.
Бывший. АААА_
_2222
Любые советы о том, как определить 4 вида, были бы очень полезны :)
DECK = ['AH';'2H';'3H';'4H';'5H';'6H';'7H';'8H';'9H';'TH';'JH';'QH';'KH'; ...
'AS';'2S';'3S';'4S';'5S';'6S';'7S';'8S';'9S';'TS';'JS';'QS';'KS'; ...
'AD';'2D';'3D';'4D';'5D';'6D';'7D';'8D';'9D';'TD';'JD';'QD';'KD'; ...
'AC';'2C';'3C';'4C';'5C';'6C';'7C';'8C';'9C';'TC';'JC';'QC';'KC'];
%deck of 52 cards
total_runs=10000;
n=0;
for i=1:total_runs
index=randperm(52);
shuffle=DECK(index);
%shuffles the 52 columns
b=shuffle(1:5);
%chooses the first 5 cards
d=sort(b);
if d(1)==d(2)==d(3)==d(4)||d(2)==d(3)==d(4)==d(5)
%attempt to determine 4 of a kind
disp(d);
n=n+1;
end
end
prob=n/total_runs