Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace _19.BitsInverter
- {
- using System;
- public class BitsInverter
- {
- public static void Main(string[] args)
- {
- checked
- {
- // Reading from Input given Count of numbers in Sequence and number Step:
- int countNums = int.Parse(Console.ReadLine());
- int step = int.Parse(Console.ReadLine());
- // Reading from Input the numbers of Sequence and Create Array of Integers:
- int[] numbers = ReadInputSequenceAndCreateArrayOfIntegers(countNums);
- int indexInSequence = 0;
- foreach (var num in numbers)
- {
- int number = num;
- for (int i = 7; i >= 0; i--)
- {
- indexInSequence++;
- int bitMoving = indexInSequence % step;
- // Create BitMask:
- int bitMask = 1 << i;
- // Inverting bit on exact position in Sequence:
- if (step == 1 || bitMoving == 1)
- {
- number ^= bitMask;
- }
- }
- // Print inverted number:
- Console.WriteLine(number);
- }
- }
- }
- private static int[] ReadInputSequenceAndCreateArrayOfIntegers(int count)
- {
- checked
- {
- int[] numbers = new int[count];
- for (int i = 0; i < numbers.Length; i++)
- {
- numbers[i] = int.Parse(Console.ReadLine());
- }
- return numbers;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement