fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define endl "\n"
  5. #define adel_wageeh ios::sync_with_stdio(0), ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  6. string binary_convert(int morgn_num)
  7. {
  8. string binaryy;
  9. if (morgn_num == 0)
  10. {
  11. binaryy = '0';
  12. return binaryy;
  13. }
  14. while (morgn_num != 0)
  15. {
  16. if (morgn_num % 3 == 0)
  17. binaryy += '0';
  18. else if(morgn_num%3==1)
  19. binaryy += '1';
  20. else
  21. {
  22. binaryy = "-1";
  23. return binaryy;
  24. }
  25.  
  26. morgn_num /= 3;
  27. }
  28. return binaryy;
  29. }
  30. ll desimal_convert(string s)
  31. {
  32. ll sum=0;
  33. for (int i = 0; i < s.length(); i++)
  34. sum += ((s[i]-48) * pow(2, i));
  35. return sum;
  36. }
  37. int main()
  38. {
  39. adel_wageeh;
  40. string s;
  41. int turns_num,morgn_num;
  42. cin >> turns_num;
  43. while (turns_num)
  44. {
  45. cin >> morgn_num;
  46. s = binary_convert(morgn_num);
  47. if (s == "-1")
  48. {
  49. cout << -1;
  50. return 0;
  51. }
  52. cout << desimal_convert(s) << endl;
  53.  
  54. }
  55.  
  56. }
Success #stdin #stdout 0.01s 5436KB
stdin
Standard input is empty
stdout
-1