fork download
  1. #include <iostream>
  2. #include <random>
  3. #include <string>
  4.  
  5. int FirstNumber(unsigned long n) {
  6. while (n >= 10)
  7. n /= 10;
  8.  
  9. return n;
  10. }
  11.  
  12. int main() {
  13. int histo[10];
  14. std::random_device rd;
  15. std::mt19937_64 gen(rd());
  16. std::uniform_int_distribution<unsigned long> upper(1, 999999);
  17. std::uniform_int_distribution<unsigned long> dist(1, upper(gen));
  18.  
  19. for (int i = 0; i < 10000000; ++i)
  20. histo[FirstNumber(dist(gen))]++;
  21.  
  22. int max = 0;
  23. for (int i = 0; i < 10; ++i)
  24. if (max < histo[i]) max = histo[i];
  25.  
  26. for (int i = 0; i < 10; ++i)
  27. std::cout << i << " " << std::string(90 * histo[i] / max, '*') << std::endl;
  28. }
Success #stdin #stdout 1.3s 3476KB
stdin
Standard input is empty
stdout
0 
1 ******************************************************************************************
2 ********************
3 ********
4 ********
5 ********
6 ********
7 *********
8 ********
9 ********