Advertisement
stanevplamen

02.09.03.01.NineGagNumbers

Jun 21st, 2013
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.68 KB | None | 0 0
  1. using System;
  2. using System.Text;
  3.  
  4. class NineGagNumbers
  5. {
  6.     static string ConvertToDigits(string input)
  7.     {      
  8.         StringBuilder sbNumb = new StringBuilder();
  9.         StringBuilder sb = new StringBuilder();
  10.         for (int i = 0; i < input.Length; i++)
  11.         {
  12.             sb.Append(input[i]);
  13.             string temp = sb.ToString();
  14.             if (temp == "-!")
  15.             {
  16.                 sb.Remove(0, 2);
  17.                 sbNumb.Append(0);
  18.             }
  19.             else if (temp == "**")
  20.             {
  21.                 sb.Remove(0, 2);
  22.                 sbNumb.Append(1);
  23.             }
  24.             else if (temp == "!!!")
  25.             {
  26.                 sb.Remove(0, 3);
  27.                 sbNumb.Append(2);
  28.             }
  29.             else if (temp == "&&")
  30.             {
  31.                 sb.Remove(0, 2);
  32.                 sbNumb.Append(3);
  33.             }
  34.             else if (temp == "&-")
  35.             {
  36.                 sb.Remove(0, 2);
  37.                 sbNumb.Append(4);
  38.             }
  39.             else if (temp == "!-")
  40.             {
  41.                 sb.Remove(0, 2);
  42.                 sbNumb.Append(5);
  43.             }
  44.             else if (temp == "*!!!")
  45.             {
  46.                 sb.Remove(0, 4);
  47.                 sbNumb.Append(6);
  48.             }
  49.             else if (temp == "&*!")
  50.             {
  51.                 sb.Remove(0, 3);
  52.                 sbNumb.Append(7);
  53.             }
  54.             else if (temp == "!!**!-")
  55.             {
  56.                 sb.Remove(0, 6);
  57.                 sbNumb.Append(8);
  58.             }
  59.         }
  60.  
  61.         string nineGagString = sbNumb.ToString();
  62.         return nineGagString;
  63.     }
  64.  
  65.     static decimal ConvertToDecimal(string nineGagString)
  66.     {
  67.         decimal decimalNumber = 0;
  68.         int counter = 0;
  69.         for (int i = nineGagString.Length - 1; i >= 0; i--)
  70.         {
  71.             int currentDigit = (int)(nineGagString[i]) - 48;
  72.             decimalNumber = decimalNumber + ((decimal)currentDigit * Pow(9, counter));
  73.             counter++;
  74.         }
  75.         return decimalNumber;
  76.     }
  77.  
  78.     static decimal Pow(int baseNumb, int counter)
  79.     {
  80.         decimal powerNumber = 1;
  81.         for (int i = 0; i < counter; i++)
  82.         {
  83.             powerNumber = powerNumber * baseNumb;
  84.         }
  85.         return powerNumber;
  86.     }
  87.  
  88.     static void Main()
  89.     {
  90.         string input = Console.ReadLine(); //"*!!!";
  91.  
  92.         // first translate the symbols to digits
  93.         string numberInNineGag = ConvertToDigits(input);
  94.  
  95.         // second convert the number from 9 numrical system to 10 ns
  96.         decimal numberInDecimal = ConvertToDecimal(numberInNineGag);
  97.         Console.WriteLine(numberInDecimal);
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement