Advertisement
niksan878

Untitled

Apr 14th, 2014
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. class Program
  7. {
  8. static void Main()
  9. {
  10. ulong n = ulong.Parse(Console.ReadLine());
  11. //Console.WriteLine(Convert.ToString(n, 2).PadLeft(64, '0'));
  12.  
  13. for (int i = 0; i < 3; i++)
  14. {
  15. string input = Console.ReadLine();
  16. string[] nums = input.Split(' ');
  17. int length = int.Parse(nums[1]);
  18.  
  19. int startPos = int.Parse(nums[0]) - (int.Parse(nums[1]) / 2);
  20. if (startPos<0)
  21. {
  22. length = int.Parse(nums[1]) + startPos;
  23. startPos = 0;
  24. }
  25. if (startPos+length>63)
  26. {
  27. length = startPos + length - 63;
  28.  
  29. }
  30.  
  31. for (int s = startPos; s < startPos+ length; s++)
  32. {
  33. n = n & (~((ulong)1 << s));
  34. }
  35.  
  36. }
  37.  
  38. // Console.WriteLine(Convert.ToString(n, 2).PadLeft(64, '0'));
  39.  
  40. int counter = 0;
  41. ulong bit = 0;
  42. for (int i = 32; i <= 63; i++)
  43. {
  44. bit = (n >> i) & 1;
  45. if (bit==1)
  46. {
  47. counter++;
  48. }
  49. }
  50.  
  51. Console.WriteLine("left: {0}", counter);
  52. counter = 0;
  53.  
  54. for (int i = 0; i <= 31; i++)
  55. {
  56. bit = (n >> i) & 1;
  57. if (bit == 1)
  58. {
  59. counter++;
  60. }
  61. }
  62.  
  63. Console.WriteLine("right: {0}", counter);
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement