Advertisement
ivan_yosifov

Durankulak_Numbers

Dec 10th, 2013
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.69 KB | None | 0 0
  1. using System;
  2.  
  3. class DurankulakNumbers
  4. {
  5.     static void Main()
  6.     {
  7.         string input = Console.ReadLine();
  8.         int count = 0;
  9.         for (int i = 0; i < input.Length; i++)
  10.         {
  11.             char letter = input[i];
  12.             if (char.IsUpper(letter)) count++;
  13.         }
  14.         string[] letters = new string[count];
  15.         ulong[] values = new ulong[count];
  16.         count = 0;
  17.  
  18.         for (int i = 0; i < input.Length; i++)
  19.         {
  20.             char letter = input[i];
  21.             if (char.IsUpper(letter))
  22.             {
  23.                 letters[count] = letter.ToString();
  24.             }
  25.             else
  26.             {
  27.                 char next = input[i+1];
  28.                 letters[count] = letter.ToString() + next.ToString();
  29.                 i++;
  30.             }
  31.             count++;
  32.         }
  33.  
  34.         for (int i = 0; i < letters.Length; i++)
  35.         {
  36.             if (letters[i].Length == 1)
  37.             {
  38.                 values[i] = (ulong)(char.Parse(letters[i]) - 65);
  39.             }
  40.             else
  41.             {
  42.                 char first = char.ToUpper(letters[i][0]);
  43.                 char second = letters[i][1];
  44.                 ulong firstNum = (ulong)(first - 64);
  45.                 ulong secondNum = (ulong)(second - 65);
  46.                 values[i] = (ulong)(secondNum * (ulong)Math.Pow(26, 0)) +
  47.                     (ulong)(firstNum * (ulong)Math.Pow(26, 1));
  48.             }
  49.         }
  50.  
  51.         ulong result = 0;
  52.         int power = 0;
  53.         for (int i = values.Length - 1; i >= 0; i--)
  54.         {
  55.             result += values[i] * (ulong)Math.Pow(168, power);
  56.             power++;
  57.         }
  58.         Console.WriteLine(result);        
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement