Advertisement
dim4o

BitRollerWrong

Jul 21st, 2014
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.82 KB | None | 0 0
  1. using System;
  2. namespace BitRoller
  3. {
  4.     class BitRollerWrong
  5.     {
  6.         static void Main()
  7.         {
  8.             int num = int.Parse(Console.ReadLine());
  9.             int f = int.Parse(Console.ReadLine());
  10.             int r = int.Parse(Console.ReadLine());
  11.             int maskF = 1 << f;
  12.             int fBit = maskF & num;
  13.             for (int i = 0; i < r; i++)
  14.             {          
  15.                 num &= ~maskF;
  16.                 int lastBit = 1 & num;            
  17.                 lastBit <<= 18;
  18.                 num >>= 1;
  19.                 num |= lastBit;            
  20.                 if ((maskF & num) == maskF)
  21.                 {
  22.                     num = num | (maskF >> 1);
  23.                 }
  24.                 num |= fBit;
  25.             }
  26.             Console.WriteLine(num);
  27.         }
  28.     }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement