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;
- class Program
- {
- static void Main()
- {
- ulong n = ulong.Parse(Console.ReadLine());
- //Console.WriteLine(Convert.ToString(n, 2).PadLeft(64, '0'));
- for (int i = 0; i < 3; i++)
- {
- string input = Console.ReadLine();
- string[] nums = input.Split(' ');
- int length = int.Parse(nums[1]);
- int startPos = int.Parse(nums[0]) - (int.Parse(nums[1]) / 2);
- if (startPos<0)
- {
- length = int.Parse(nums[1]) + startPos;
- startPos = 0;
- }
- if (startPos+length>63)
- {
- length = startPos + length - 63;
- }
- for (int s = startPos; s < startPos+ length; s++)
- {
- n = n & (~((ulong)1 << s));
- }
- }
- // Console.WriteLine(Convert.ToString(n, 2).PadLeft(64, '0'));
- int counter = 0;
- ulong bit = 0;
- for (int i = 32; i <= 63; i++)
- {
- bit = (n >> i) & 1;
- if (bit==1)
- {
- counter++;
- }
- }
- Console.WriteLine("left: {0}", counter);
- counter = 0;
- for (int i = 0; i <= 31; i++)
- {
- bit = (n >> i) & 1;
- if (bit == 1)
- {
- counter++;
- }
- }
- Console.WriteLine("right: {0}", counter);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement