Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- class WiggleWiggle
- {
- static long changeBitTo(long n, int pos, int value)
- {
- if (value == 1)
- {
- n = n | ((long)1 << pos);
- }
- else
- {
- n = n & ~((long)1 << pos);
- }
- return n;
- }
- static void Main()
- {
- string[] strArr = Console.ReadLine().Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries);
- long[] arr = new long[strArr.Length];
- for (int i = 0; i < arr.Length; i++)
- {
- arr[i] = long.Parse(strArr[i]);
- }
- for (int i = 0; i < arr.Length - 1; i += 2)
- {
- long number1 = arr[i];
- long number2 = arr[i + 1];
- for (int j = 0; j < 63; j += 2)
- {
- int bit1 = (int)(number1 >> j & 1);
- int bit2 = (int)(number2 >> j & 1);
- number1 = changeBitTo(number1, j, bit2);
- number2 = changeBitTo(number2, j, bit1);
- }
- arr[i] = (number1);
- arr[i + 1] = (number2);
- }
- StringBuilder[] binary = new StringBuilder[arr.Length];
- for (int i = 0; i < arr.Length; i++)
- {
- binary[i] = new StringBuilder(Convert.ToString(arr[i], 2).PadLeft(63, '0'));
- }
- foreach (var item in binary)
- {
- for (int i = 0; i < item.Length; i++)
- {
- if (item[i] == '0')
- item[i] = '1';
- else
- item[i] = '0';
- }
- }
- foreach (var item in binary)
- {
- Console.WriteLine("{0} {1}",Convert.ToUInt64(item.ToString(), 2), item);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement