Advertisement
Guest User

Exam25July2014Evening5ChangeEvenBits

a guest
Aug 25th, 2014
305
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 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. namespace Exam25July2014Evening5ChangeEvenBits
  8. {
  9. class ChangeEvenBits
  10. {
  11. static void Main(string[] args)
  12. {
  13. int n = int.Parse(Console.ReadLine());
  14. int[] numbers = new int[n];
  15.  
  16. for (int i = 0; i < n; i++)
  17. {
  18. numbers[i] = int.Parse(Console.ReadLine());
  19. }
  20.  
  21. ulong l = ulong.Parse(Console.ReadLine());
  22. ulong result = l;
  23.  
  24. string allOneBits = "1010101010101010101010101010101";
  25.  
  26. for (int i = 0; i < n; i++)
  27. {
  28. int len = Convert.ToString(numbers[i], 2).Length;
  29. int tempNum = Convert.ToInt32(allOneBits.Substring(0, 2 * len - 1), 2);
  30. result |= (ulong)tempNum;
  31. }
  32.  
  33. string lString = Convert.ToString((int)l, 2).PadLeft(64, '0');
  34. string resultString = Convert.ToString((int)result, 2).PadLeft(64, '0');
  35. int changeBits = 0;
  36.  
  37. for (int i = 0; i < 64; i++)
  38. {
  39. if (lString[i] != resultString[i])
  40. {
  41. changeBits++;
  42. }
  43. }
  44.  
  45. Console.WriteLine(result);
  46. Console.WriteLine(changeBits);
  47. }
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement