fork download
  1. #include <iostream>
  2. #include <map>
  3. #include <vector>
  4.  
  5. int main() {
  6. std::vector<std::pair<int, int>> ranges {
  7. {0, 10},
  8. {20, 25},
  9. {50, 60}
  10. };
  11.  
  12. std::map<int, int> counters;
  13.  
  14. for (int i = 0; i < 100000; ++i) {
  15. const int range_index = rand() % ranges.size();
  16. const auto& range = ranges[range_index];
  17. const int number = rand() % (range.second - range.first + 1) + range.first;
  18. ++counters[number];
  19. }
  20.  
  21. for (const auto& item : counters) {
  22. std::cout << item.first << ": " << item.second << std::endl;
  23. }
  24.  
  25. return 0;
  26. }
Success #stdin #stdout 0.01s 3476KB
stdin
Standard input is empty
stdout
0: 3112
1: 3097
2: 2983
3: 2984
4: 3077
5: 3065
6: 3020
7: 3098
8: 2960
9: 3076
10: 3034
20: 5501
21: 5521
22: 5589
23: 5512
24: 5536
25: 5359
50: 2984
51: 3154
52: 3027
53: 2990
54: 3093
55: 2963
56: 3074
57: 3002
58: 3046
59: 3041
60: 3102