fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <chrono>
  4. using namespace std;
  5.  
  6. const int N = 100000;
  7.  
  8. void add1(string &b) {
  9. int diff = (N - (int)b.length());
  10. for (int i = 0; i < diff; ++i) {
  11. b = '0' + b;
  12. }
  13. return;
  14. }
  15.  
  16. void add2(string &b) {
  17. int diff = (N - (int)b.length());
  18. b.insert(b.begin(), diff, '0');
  19. return;
  20. }
  21.  
  22. int main() {
  23. string b = "1";
  24. chrono::system_clock::time_point start, end;
  25.  
  26.  
  27. // first method
  28. start = chrono::system_clock::now();
  29. add1(b);
  30. end = chrono::system_clock::now();
  31. auto duration = chrono::duration_cast<chrono::microseconds>(end-start);
  32. cout << "add1: " << duration.count() << endl;
  33.  
  34.  
  35. b = "1";
  36.  
  37. // second method
  38. start = chrono::system_clock::now();
  39. add2(b);
  40. end = chrono::system_clock::now();
  41. duration = chrono::duration_cast<chrono::microseconds>(end-start);
  42. cout << "add2: " << duration.count() << endl;
  43.  
  44. return 0;
  45. }
Success #stdin #stdout 0.21s 4464KB
stdin
Standard input is empty
stdout
add1: 209710
add2: 3