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 Task5
- {
- static void Main()
- {
- ulong inputNumber = ulong.Parse(Console.ReadLine());
- ulong[] bitNumbers = new ulong [64];
- for (int i = 64-1; i >= 0; i--)
- {
- bitNumbers[i] = (inputNumber >> 63-i) & 1;
- }
- //foreach (var n in bitNumbers)
- //{
- // Console.Write(n);
- //}
- int countBitsZero = 0;
- int countBitsOnes = 0;
- for (int i = 0; i < 64; i++)
- {
- if (bitNumbers[i]==0)
- {
- countBitsZero++;
- countBitsOnes = 0;
- }
- else
- {
- countBitsOnes++;
- countBitsZero = 0;
- }
- if (countBitsOnes==3)
- {
- bitNumbers[i] = 0;
- bitNumbers[i - 1] = 0;
- bitNumbers[i - 2] = 0;
- countBitsOnes = 0;
- }
- else if (countBitsZero==3)
- {
- bitNumbers[i] = 1;
- bitNumbers[i - 1] = 1;
- bitNumbers[i - 2] = 1;
- countBitsZero = 0;
- }
- }
- Console.WriteLine();
- string number = string.Empty;
- foreach (var n in bitNumbers)
- {
- number += n;
- }
- ulong numberindec= (ulong)Convert.ToInt64(number,2);
- Console.WriteLine(numberindec);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement