(defconstant +experiments-number+ 10000000)
(with-open-file (rand #P"/dev/urandom" :element-type 'unsigned-byte)
(loop :repeat +experiments-number+
:sum (ecase (logand #b11 (read-byte rand))
((#b10 #b01 #b11) 1) ;; Здесь уже очевидно, что вероятность составляет 3/4
(#b00 0))
:into number-of-wins
:finally (format t "~a (~a)~%"
#1=(/ number-of-wins +experiments-number+)
(float #1#))))
KGRlZmNvbnN0YW50ICtleHBlcmltZW50cy1udW1iZXIrIDEwMDAwMDAwKQoKKHdpdGgtb3Blbi1maWxlIChyYW5kICNQIi9kZXYvdXJhbmRvbSIgOmVsZW1lbnQtdHlwZSAndW5zaWduZWQtYnl0ZSkKICAobG9vcCA6cmVwZWF0ICtleHBlcmltZW50cy1udW1iZXIrCiAgICAgICAgOnN1bSAoZWNhc2UgKGxvZ2FuZCAjYjExIChyZWFkLWJ5dGUgcmFuZCkpCiAgICAgICAgICAgICAgICgoI2IxMCAjYjAxICNiMTEpIDEpIDs7INCX0LTQtdGB0Ywg0YPQttC1INC+0YfQtdCy0LjQtNC90L4sINGH0YLQviDQstC10YDQvtGP0YLQvdC+0YHRgtGMINGB0L7RgdGC0LDQstC70Y/QtdGCIDMvNAogICAgICAgICAgICAgICAoI2IwMCAwKSkKICAgICAgICAgIDppbnRvIG51bWJlci1vZi13aW5zCiAgICAgICAgOmZpbmFsbHkgKGZvcm1hdCB0ICJ+YSAofmEpfiUiIAogICAgICAgICAgICAgICAgICAgICAjMT0oLyBudW1iZXItb2Ytd2lucyArZXhwZXJpbWVudHMtbnVtYmVyKykKICAgICAgICAgICAgICAgICAgICAgKGZsb2F0ICMxIykpKSk=