Rのクソコードを巴戦の結果を通算成績に加えるかを選択できるようにして
場合分けをコンパクト化。可読性が悪くなった気もする。
# 通算成績 1:横綱 2:大関 3:関脇
rec1=c(8,7) # 2 vs 3
rec2=c(6,5) # 1 vs 3
rec3=c(10,9) # 1 vs 2
recs=rbind(rec1,rec2,rec3)
bouts=rbind(c(2,3),c(1,3),c(1,2))
sim=function(overall=TRUE){ # overall:巴戦の結果を通算成績に組み入れるか?
nuke1=nuke=sample(3,1) # 初戦の抜け番
last_winner=0 # 前勝者
flg= FALSE # 連勝フラッグ
count=0 # 試合数
while(!flg){
count=count+1
i=sample(1:2,1,prob=recs[nuke,]) # 勝者のindex 1 or 2
recs[nuke,i]=recs[nuke,i]+overall # 勝率の更新
winner=bouts[nuke,][i] # 勝者番号 1,2,or 3
nuke=bouts[nuke,][-i] # 敗者(=次の抜け)番号 1,2,or 3
flg <- winner==last_winner # 連勝フラッグ更新
last_winner=winner # 前勝者更新
}
c(victor=winner,nuke=nuke1,count=count)
}
実行例
> replicate(15,sim())
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15]
victor 2 1 1 1 2 2 1 1 2 2 1 3 2 1 3
nuke 2 1 2 2 1 2 3 3 1 3 2 2 1 1 3
count 3 3 2 2 2 3 2 2 4 2 4 2 2 3 3
高校数学の質問スレ Part439
■ このスレッドは過去ログ倉庫に格納されています
352132人目の素数さん
2024/12/30(月) 10:46:42.88ID:DAgtZ3Zg■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【子供】「2人目欲しい」が過去最低、6年で半減 物価高で収入に不安か [煮卵★]
- サッカー選手の妻、フランス革命を引き合いに「略奪されたくらいで騒ぐな」と抗議活動批判に反論。警察の暴力や人種差別にも言及 [少考さん★]
- フランス各地でデモに乗じ破壊や略奪、歴史的建造物の市庁舎は放火で焼失…全国1500の小売店が襲撃受ける ★4 [ぐれ★]
- 「フランスが燃えている」と投稿 トランプ氏 [少考さん★]
- デモ暴徒化、フランス大統領が非難「正当化できない。犯罪者に代償」 [少考さん★]
- 両足切断された30代女性が意識回復、軽トラックと車に挟まれた事故 40代男を逮捕 東京・世田谷区三軒茶屋 ★3 [お断り★]
- 今日もホームページ更新してる☀2日間で7ページ記事を新しく作った☀頑張ったよ褒めて!高市さん🦎 [457294144]
- 鮒←これ読める?(・o・🍬)🏰
- 【高市悲報】ハンチョウ、おっさんに激効きしてしまう概念を言語化してしまう [834922174]
- 【画像】女子小学生(12)「身長が167cmあるからよく高校生に間違えられるw [632966346]
- 【】🇫🇷フランス暴動、ベルギー・イタリアにも波及し始めるwwwwwwwwwww [762037879]
- 【速報】高市内閣支持率11.2%急落 [527893826]