a53

extindere

a53
Oct 2nd, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. ifstream fin("extindere.in");
  5. ofstream fout("extindere.out");
  6.  
  7. char negare(char c)
  8. {
  9. if(c=='1')
  10. return '2';
  11. else
  12. return '1';
  13.  
  14. }
  15. string tento2(int n)
  16. {
  17. string s="";
  18. while(n>0)
  19. {
  20. if(n%2==0)
  21. s="0"+s;
  22. else
  23. s="1"+s;
  24.  
  25. n=n/2;
  26. }
  27. if(s.length()%2==1)
  28. s="0"+s;
  29. return s;
  30. }
  31. char cautbin(int n)
  32. {
  33. string s=tento2(n-1);
  34. char c;
  35. int i;
  36. if(s[s.length()-1]==s[s.length()-2])
  37. c='1';
  38. else
  39. c='2';
  40. if(s.length()<3)
  41. return c;
  42. for(i=s.length()-3;i>=0;i=i-2)
  43. {
  44. if(s[i]!=s[i-1])
  45. c=negare(c);
  46. }
  47. return c;
  48. }
  49.  
  50. int main()
  51. {
  52. int n;
  53. fin>>n;
  54. fout<<cautbin(n);
  55. return 0;
  56. }
Add Comment
Please, Sign In to add comment