Advertisement
Guest User

Untitled

a guest
Sep 9th, 2015
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7.  
  8. class BitFlipper
  9. {
  10. static void Main()
  11. {
  12.  
  13. ulong num = ulong.Parse(Console.ReadLine());
  14. string initialNumber = Convert.ToString((long)num, 2).PadLeft(64, '0');
  15.  
  16. StringBuilder lastNumber = new StringBuilder(initialNumber);
  17.  
  18. for (int i = 0; i < initialNumber.Length; i++)
  19. {
  20. if ((initialNumber[i] == initialNumber[i + 1]) && (initialNumber[i + 1] == initialNumber[i + 2]))
  21. {
  22. if (initialNumber[i] == '1')
  23. {
  24. lastNumber[i] = lastNumber[i + 1] = lastNumber[i + 2] = '0';
  25. i+= 2;
  26. }
  27.  
  28. if (initialNumber[i] == '0')
  29. {
  30. lastNumber[i] = lastNumber[i + 1] = lastNumber[i + 2] = '1';
  31. i+= 2;
  32. }
  33. }
  34.  
  35. if (i > 61)
  36. {
  37. break;
  38. }
  39. }
  40.  
  41. string finalNumber = lastNumber.ToString();
  42. ulong result = Convert.ToUInt64(finalNumber, 2);
  43. Console.WriteLine(result);
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement