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;
- namespace ChangeBits
- {
- class Program
- {
- static void Main(string[] args)
- {
- var n = int.Parse(Console.ReadLine());
- var numbers = new int[n];
- for (int i = 0; i < n; i++)
- {
- numbers[i] = int.Parse(Console.ReadLine());
- }
- var L = int.Parse(Console.ReadLine());
- int changedBitsCounter = 0;
- for (int i = 0; i < numbers.Length; i++)
- {
- int bitsCount = CountBits(numbers[i]);
- for (int j = 0; j < bitsCount; j++)
- {
- var check = (L >> j*2) & 1;
- if (check == 0)
- {
- changedBitsCounter++;
- }
- int mask = 1 << j * 2;
- L = L | mask;
- }
- }
- Console.WriteLine(L);
- Console.WriteLine(changedBitsCounter);
- }
- static int CountBits(int number)
- {
- int counter = 0;
- if (number == 0)
- {
- counter = 1;
- }
- while (number != 0)
- {
- counter++;
- number = number >> 1;
- }
- return counter;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement