online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include <iostream> #include <vector> struct Box { int goldBalls; int silverBalls; }; int main() { // Коробки с шарами std::vector<Box> boxes; boxes.push_back({ 2, 0 }); boxes.push_back({ 1, 1 }); //boxes.push_back({ 0, 2 }); // 3-ю коробку для простоты отбрасываем // Тянем шары const int N = 1000000; int winCount = 0; for (int i = 0; i < N; i++) { //rechose: // Убогая 2/3-интерпретация II // Выбор случайной коробки Box box = boxes[std::rand() % boxes.size()]; rechose: // Боярская 1/2-интерпретация I // 1) Тянем первый шар из коробки bool pick1_is_gold = std::rand() % (box.goldBalls + box.silverBalls) < box.goldBalls; if (!pick1_is_gold) { goto rechose; // Вселенная схлопывается => выбираем шар(I)/коробку(II) ещё раз } box.goldBalls--; // Вынули золотой шар // 2) Рандомно тянем второй шар из той же коробки bool pick2_is_gold = std::rand() % (box.goldBalls + box.silverBalls) < box.goldBalls; // Увеличиваем счётчик, если оба шара оказались золотыми winCount += pick1_is_gold && pick2_is_gold; } std::cout << "Answer = " << (double)winCount / N << "\n"; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue