#include #include #include #include #include const std::size_t N = 1'000'000; const auto seed = std::random_device{}(); std::default_random_engine rng; int f1() { int result = 0; rng.seed(seed); for (std::size_t i = 0; i < N; ++i) if (rng() % 2 == 0) result += rng(); else result -= rng(); return result; } int f2() { int result = 0; rng.seed(seed); for (std::size_t i = 0; i < N; ++i) switch (rng() % 2) { case 0: result += rng(); break; case 1: result -= rng(); break; } return result; } int main(int argc, char *argv[]) { assert(f1() == f2()); }