fork download
  1. #include <string>
  2. #include <iostream>
  3.  
  4. int nyekitka(const std::string& s)
  5. {
  6. int ans;
  7. if (s.size() > 1 && s[0] == '0' && s[1] == 'x')
  8. ans = std::stoi(s, nullptr, 16);
  9. else if (s.size() && s[0] == '0')
  10. ans = std::stoi(s, nullptr, 8);
  11. else
  12. ans = std::stoi(s);
  13. return ans;
  14. }
  15.  
  16. int harry(const std::string& s)
  17. {
  18. return std::stoi(s, nullptr, 0);
  19. }
  20.  
  21.  
  22. int main ()
  23. {
  24. std::string s;
  25. while(std::cin >> s)
  26. {
  27. std::cout << nyekitka(s) << " " << harry(s) << "\n";
  28. }
  29. }
  30.  
Success #stdin #stdout 0.01s 5452KB
stdin
123
0123
0x123
345
0345
0x345
stdout
123   123
83   83
291   291
345   345
229   229
837   837