Advertisement
geniusvil

MultiverseCommunication

Jan 19th, 2014
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Numerics;
  7.  
  8. namespace _01.MultiverseCommunication
  9. {
  10. class MultiverseCommunication
  11. {
  12. static void Main(string[] args)
  13. {
  14. string input = Console.ReadLine();
  15. List<string> digits = ConvertStrToInt(input);
  16. Console.WriteLine(ConvertIndecimal(digits));
  17. }
  18. static string FindDigit(string substring)
  19. {
  20. string digit = String.Empty;
  21. switch (substring)
  22. {
  23. case "CHU": digit= "0"; break;
  24. case "TEL": digit= "1"; break;
  25. case "OFT": digit= "2"; break;
  26. case "IVA": digit= "3"; break;
  27. case "EMY": digit= "4"; break;
  28. case "VNB": digit= "5"; break;
  29. case "POQ": digit= "6"; break;
  30. case "ERI": digit= "7"; break;
  31. case "CAD": digit= "8"; break;
  32. case "K-A": digit= "9"; break;
  33. case "IIA": digit= "10"; break;
  34. case "YLO": digit= "11"; break;
  35. case "PLA": digit= "12"; break;
  36. default: break;
  37. }
  38. return digit;
  39. }
  40.  
  41. static List<string> ConvertStrToInt(string input)
  42. {
  43. List<string> digits = new List<string>();
  44.  
  45. for (int i = 0; i < input.Length; i+=3)
  46. {
  47. string substring = input.Substring(i, 3);
  48. digits.Add(FindDigit(substring));
  49. }
  50.  
  51. return digits;
  52. }
  53.  
  54. static BigInteger ConvertIndecimal(List<string> digits)
  55. {
  56. BigInteger result = 0;
  57. BigInteger powerOf13 = 1;
  58. for (int i = digits.Count- 1; i >= 0; i--)
  59. {
  60. result += powerOf13 * (BigInteger.Parse(digits[i].ToString()));
  61. powerOf13 *= 13;
  62. }
  63. return result;
  64. }
  65.  
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement