Advertisement
ivan_yosifov

We_All_Love_Bits_Fixed

Dec 3rd, 2013
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.89 KB | None | 0 0
  1.  
  2.  
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Numerics;
  9.  
  10. namespace WeAllLoveBits
  11. {
  12.     class Program
  13.     {
  14.         static void Main(string[] args)
  15.         {
  16.             checked
  17.             {
  18.                
  19.  
  20.                 int n = int.Parse(Console.ReadLine());
  21.  
  22.                 long[] nums = new long[n];
  23.  
  24.                 for (int i = 0; i < n; i++)
  25.                 {
  26.                     string invertedP = "";
  27.                     string reversedP = "";
  28.                     string stringNum = "";
  29.                     int number = 0;
  30.  
  31.                     number = int.Parse(Console.ReadLine());
  32.                     stringNum = Convert.ToString(number, 2);
  33.                     char[] numToChat = stringNum.ToCharArray();
  34.  
  35.                     for (int j = 0; j < numToChat.Length; j++)
  36.                     {
  37.                         if (numToChat[j] == '1')
  38.                         {
  39.                             invertedP += '0';
  40.                         }
  41.                         else
  42.                         {
  43.                             invertedP += '1';
  44.                         }
  45.                     }
  46.                     //invertedP = invertedP.TrimStart('0');
  47.  
  48.                     for (int j = numToChat.Length - 1; j >= 0; j--)
  49.                     {
  50.                         reversedP += numToChat[j];
  51.                     }
  52.                     long invP = Convert.ToInt64(invertedP, 2);
  53.                     long revP = Convert.ToInt64(reversedP, 2);
  54.                     long P = Convert.ToInt64(stringNum, 2);
  55.  
  56.                     long Pnew = (P ^ invP) & revP;
  57.                     nums[i] = Pnew;
  58.                 }
  59.                 for (int i = 0; i < n; i++)
  60.                 {
  61.                     Console.WriteLine(nums[i]);
  62.                 }
  63.             }
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement