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;
- namespace WiggleWiggle
- {
- class WiggleWiggle
- {
- static void Main()
- {
- long[] numbers = Console.ReadLine().Split(' ').Select(long.Parse).ToArray();
- for(int i = 1; i < numbers.Length; i+=2)
- {
- for(int a = 0; a < 64; a+=2)
- {
- long bitFromFirstNumber = ( numbers[i - 1] >> a ) & 1L;
- long bitFromSecondNUmber = ( numbers[i] >> a ) & 1L;
- if(bitFromFirstNumber != bitFromSecondNUmber)
- {
- if(bitFromSecondNUmber == 1)
- {
- numbers[i - 1] |= ( bitFromSecondNUmber << a );
- numbers[i] ^= ( 1L << a );
- }
- else
- {
- numbers[i] |= ( bitFromFirstNumber << a );
- numbers[i - 1] ^= ( 1L << a );
- }
- }
- else
- {
- continue;
- }
- }
- }
- for(int num = 0; num < numbers.Length; num++)
- {
- numbers[num] = ~numbers[num];
- numbers[num] &= ~( 1L << 63 );
- }
- for(int b = 0; b < numbers.Length; b++)
- {
- string number = Convert.ToString(numbers[b] , 2).PadLeft(63 , '0');
- long nums = Convert.ToInt64(number , 2);
- Console.WriteLine(nums + " " + number);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment