Advertisement
GerryM

We All Love Bits

Apr 12th, 2014
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.47 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 We_All_Love_Bits
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int n = int.Parse(Console.ReadLine());
  14.             int[] array = new int[n];
  15.             int invertedNumber = 0;
  16.             int reverseNumber = 0;
  17.             int mask = 0;
  18.             for (int i = 0; i < array.Length; i++)
  19.             {
  20.                 array[i]=int.Parse(Console.ReadLine());
  21.             }
  22.  
  23.             for (int i = 0; i < array.Length; i++)
  24.             {
  25.                 mask = array[i];
  26.                 mask |= mask >> 1;
  27.                 mask |= mask >> 2;
  28.                 mask |= mask >> 4;
  29.                 mask |= mask >> 8;
  30.                 mask |= mask >> 16;
  31.                 invertedNumber = mask & (~(array[i]));
  32.                
  33.                 char[] numToString = Convert.ToString(array[i], 2).ToCharArray();
  34.                 Array.Reverse(numToString);
  35.                 StringBuilder str = new StringBuilder();
  36.                 for (int j = 0; j < numToString.Length; j++)
  37.                  {
  38.                     str.Append(numToString[j]);
  39.                  }
  40.                 int reversedNumber = Convert.ToInt32(str.ToString(),2);
  41.  
  42.  
  43.  
  44.                 int newNumber = (array[i] ^ invertedNumber) & reversedNumber;
  45.                 Console.WriteLine((int)newNumber);
  46.             }
  47.         }
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement