soxa

OnesAndZeros

Apr 2nd, 2014
152
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2.  
  3. namespace OnesAndZeros
  4. {
  5.     class OnesAndZeros
  6.     {
  7.         static void Main()
  8.         {
  9.             int number = int.Parse(Console.ReadLine());
  10.             string bits = string.Empty;
  11.  
  12.             string[] zero = new string[] { "###.", "#.#.", "#.#.", "#.#.", "###." };
  13.             string[] ones = new string[] { ".#..", "##..", ".#..", ".#..", "###." };
  14.             string[] zeroEnd = new string[] { "###", "#.#", "#.#", "#.#", "###" };
  15.             string[] onesEnd = new string[] { ".#.", "##.", ".#.", ".#.", "###" };
  16.  
  17.             while (number > 0)
  18.             {
  19.                 bits = (number & 1).ToString() + bits;
  20.                 number >>= 1;
  21.             }
  22.             bits = bits.PadLeft(16, '0');
  23.  
  24.             for (int row = 0; row < 5; row++)
  25.             {
  26.                 for (int i = (bits.Length - 16); i < bits.Length; i++)
  27.                 {
  28.                     if (i != bits.Length - 1)
  29.                     {
  30.                         if (bits[i] == '0')
  31.                         {
  32.                             Console.Write(zero[row]);
  33.                         }
  34.                         else
  35.                         {
  36.                             Console.Write(ones[row]);
  37.                         }
  38.                     }
  39.                     else
  40.                     {
  41.                         if (bits[i] == '0')
  42.                         {
  43.                             Console.Write(zeroEnd[row]);
  44.                         }
  45.                         else
  46.                         {
  47.                             Console.Write(onesEnd[row]);
  48.                         }
  49.                     }
  50.                    
  51.                 }
  52.                 Console.WriteLine();
  53.             }
  54.         }
  55.     }
  56. }
RAW Paste Data