Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- class WiggleWiggle
- {
- public static string firstNum = string.Empty;
- public static string secondNum = string.Empty;
- static void Main()
- {
- string input = Console.ReadLine();
- string[] array = input.Split(' ');
- for (int i = 0; i < array.Length; i += 2)
- {
- Wiggle(Convert.ToInt64(array[i]), Convert.ToInt64(array[i + 1]));
- InvertBits(secondNum);
- InvertBits(firstNum);
- firstNum = string.Empty;
- secondNum = string.Empty;
- }
- }
- public static void Wiggle(long numOne, long numTwo)
- {
- string first = Convert.ToString(numOne, 2).PadLeft(64, '0');
- string second = Convert.ToString(numTwo, 2).PadLeft(64, '0');
- for (int i = first.Length-1; i > 0; i--)
- {
- if (i % 2 == 0)
- {
- firstNum = second[i] + firstNum;
- secondNum = first[i] + secondNum;
- }
- else
- {
- firstNum = first[i] + firstNum;
- secondNum = second[i] + secondNum;
- }
- }
- }
- public static void InvertBits(string bitOne)
- {
- string output = string.Empty;
- for (int i = 0; i < bitOne.Length; i++)
- {
- output += (bitOne[i] == '0' ? '1' : '0');
- }
- Console.WriteLine("{0} {1}",Convert.ToUInt64(output, 2), output);
- output = string.Empty;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment