rdice = function(n) {
}
experiment1 = function(max) {
iter = 0
freq = rep(0, 6)
while(iter < max) {
dice1 = rdice(1)
dice2 = rdice(1)
if (dice1 == 6 || dice2 == 6) {
freq[dice1] = freq[dice1] + 1
freq[dice2] = freq[dice2] + 1
freq[6] = freq[6] - 1
iter = iter + 1
}
}
freq / max
}
experiment2 = function(max) {
iter = 0
freq = rep(0, 6)
while(iter < max) {
dice1 = rdice(1)
if (dice1 == 6) {
dice2 = rdice(1)
freq[dice2] = freq[dice2] + 1
iter = iter + 1
}
}
freq / max
}
#1から6までそれぞれの値が出る確率をシミュレーションで計算する
#こっちだと6の確率が低い
experiment1(5000)
#こっちだと全部同じ確率
experiment2(5000)
cmRpY2UgPSBmdW5jdGlvbihuKSB7CiAgZmxvb3IocnVuaWYobiwxLDcpKQp9CgpleHBlcmltZW50MSA9IGZ1bmN0aW9uKG1heCkgewogIGl0ZXIgPSAwCiAgZnJlcSA9IHJlcCgwLCA2KQogIHdoaWxlKGl0ZXIgPCBtYXgpIHsKICAgIGRpY2UxID0gcmRpY2UoMSkKICAgIGRpY2UyID0gcmRpY2UoMSkKICAgIGlmIChkaWNlMSA9PSA2IHx8IGRpY2UyID09IDYpIHsKICAgICAgZnJlcVtkaWNlMV0gPSBmcmVxW2RpY2UxXSArIDEKICAgICAgZnJlcVtkaWNlMl0gPSBmcmVxW2RpY2UyXSArIDEKICAgICAgZnJlcVs2XSA9IGZyZXFbNl0gLSAxCiAgICAgIGl0ZXIgPSBpdGVyICsgMQogICAgfQogIH0KICBmcmVxIC8gbWF4Cn0KCmV4cGVyaW1lbnQyID0gZnVuY3Rpb24obWF4KSB7CiAgaXRlciA9IDAKICBmcmVxID0gcmVwKDAsIDYpCiAgd2hpbGUoaXRlciA8IG1heCkgewogICAgZGljZTEgPSByZGljZSgxKQogICAgaWYgKGRpY2UxID09IDYpIHsKICAgICAgZGljZTIgPSByZGljZSgxKQogICAgICBmcmVxW2RpY2UyXSA9IGZyZXFbZGljZTJdICsgMQogICAgICBpdGVyID0gaXRlciArIDEKICAgIH0KICB9CiAgZnJlcSAvIG1heAp9Cgoj77yR44GL44KJ77yW44G+44Gn44Gd44KM44Ge44KM44Gu5YCk44GM5Ye644KL56K6546H44KS44K344Of44Ol44Os44O844K344On44Oz44Gn6KiI566X44GZ44KLCiPjgZPjgaPjgaHjgaDjgajvvJbjga7norrnjofjgYzkvY7jgYQKZXhwZXJpbWVudDEoNTAwMCkKI+OBk+OBo+OBoeOBoOOBqOWFqOmDqOWQjOOBmOeiuueOhwpleHBlcmltZW50Mig1MDAwKQ==