Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- class DurankulakNumbers
- {
- static void Main()
- {
- string input = Console.ReadLine();
- int count = 0;
- for (int i = 0; i < input.Length; i++)
- {
- char letter = input[i];
- if (char.IsUpper(letter)) count++;
- }
- string[] letters = new string[count];
- ulong[] values = new ulong[count];
- count = 0;
- for (int i = 0; i < input.Length; i++)
- {
- char letter = input[i];
- if (char.IsUpper(letter))
- {
- letters[count] = letter.ToString();
- }
- else
- {
- char next = input[i+1];
- letters[count] = letter.ToString() + next.ToString();
- i++;
- }
- count++;
- }
- for (int i = 0; i < letters.Length; i++)
- {
- if (letters[i].Length == 1)
- {
- values[i] = (ulong)(char.Parse(letters[i]) - 65);
- }
- else
- {
- char first = char.ToUpper(letters[i][0]);
- char second = letters[i][1];
- ulong firstNum = (ulong)(first - 64);
- ulong secondNum = (ulong)(second - 65);
- values[i] = (ulong)(secondNum * (ulong)Math.Pow(26, 0)) +
- (ulong)(firstNum * (ulong)Math.Pow(26, 1));
- }
- }
- ulong result = 0;
- int power = 0;
- for (int i = values.Length - 1; i >= 0; i--)
- {
- result += values[i] * (ulong)Math.Pow(168, power);
- power++;
- }
- Console.WriteLine(result);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement