Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace ConsoleApp1
- {
- class Program
- {
- static List<char> keys = new List<char>();
- static Stack<int> stack = new Stack<int>();
- static void Main(string[] args)
- {
- InitList();
- Console.Write("Первое число: ");
- string first = Console.ReadLine();
- Console.Write("Второе число: ");
- string second = Console.ReadLine();
- int result = ToDec(first) + ToDec(second);
- Console.WriteLine(first+"+"+second+"="+ DecTo(result));
- Console.ReadKey();
- }
- static int ToDec(string value)
- {
- var result = 0;
- var pow = value.Length;
- foreach (var item in value)
- {
- var number = keys.IndexOf(item);
- result += (number * (int)Math.Pow(3, --pow));
- }
- return result;
- }
- static string DecTo(int value)
- {
- if (value < 3)
- {
- stack.Push(value);
- return string.Join("", Enumerable.Range(0, stack.Count).Select(x => keys[stack.Pop()]).ToArray());
- }
- else
- {
- var tmp = value % 3;
- stack.Push(tmp);
- return DecTo(value / 3);
- }
- }
- static void InitList()
- {
- keys.Add('0');
- keys.Add('1');
- keys.Add('2');
- keys.Add('3');
- keys.Add('4');
- keys.Add('5');
- keys.Add('6');
- keys.Add('7');
- keys.Add('8');
- keys.Add('9');
- keys.Add('A');
- keys.Add('B');
- keys.Add('C');
- keys.Add('D');
- keys.Add('E');
- keys.Add('F');
- keys.Add('G');
- keys.Add('H');
- keys.Add('I');
- keys.Add('J');
- keys.Add('K');
- keys.Add('L');
- keys.Add('M');
- keys.Add('N');
- keys.Add('O');
- keys.Add('P');
- keys.Add('Q');
- keys.Add('R');
- keys.Add('S');
- keys.Add('T');
- keys.Add('U');
- keys.Add('V');
- keys.Add('W');
- keys.Add('X');
- keys.Add('Y');
- keys.Add('Z');
- keys.Add('a');
- keys.Add('b');
- keys.Add('c');
- keys.Add('d');
- keys.Add('e');
- keys.Add('f');
- keys.Add('g');
- keys.Add('h');
- keys.Add('i');
- keys.Add('j');
- keys.Add('k');
- keys.Add('l');
- keys.Add('m');
- keys.Add('n');
- keys.Add('o');
- keys.Add('p');
- keys.Add('q');
- keys.Add('r');
- keys.Add('s');
- keys.Add('t');
- keys.Add('u');
- keys.Add('v');
- keys.Add('w');
- keys.Add('x');
- keys.Add('y');
- keys.Add('z');
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement