SHARE
TWEET

Untitled

a guest Jan 28th, 2020 62 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace ConsoleApp1
  6. {
  7.     class Program
  8.     {
  9.         static List<char> keys = new List<char>();
  10.         static Stack<int> stack = new Stack<int>();
  11.  
  12.         static void Main(string[] args)
  13.         {
  14.             InitList();
  15.             Console.Write("Первое число: ");
  16.             string first = Console.ReadLine();
  17.  
  18.             Console.Write("Второе число: ");
  19.             string second = Console.ReadLine();
  20.            
  21.             int result = ToDec(first) + ToDec(second);
  22.             Console.WriteLine(first+"+"+second+"="+ DecTo(result));
  23.  
  24.  
  25.             Console.ReadKey();
  26.         }
  27.  
  28.         static int ToDec(string value)
  29.         {
  30.             var result = 0;
  31.             var pow = value.Length;
  32.  
  33.             foreach (var item in value)
  34.             {
  35.                 var number = keys.IndexOf(item);
  36.                 result += (number * (int)Math.Pow(3, --pow));
  37.             }
  38.  
  39.             return result;
  40.         }
  41.  
  42.         static string DecTo(int value)
  43.         {
  44.             if (value < 3)
  45.             {
  46.                 stack.Push(value);
  47.                 return string.Join("", Enumerable.Range(0, stack.Count).Select(x => keys[stack.Pop()]).ToArray());
  48.             }
  49.             else
  50.             {
  51.                 var tmp = value % 3;
  52.                 stack.Push(tmp);
  53.                 return DecTo(value / 3);
  54.             }
  55.         }
  56.  
  57.         static void InitList()
  58.         {
  59.             keys.Add('0');
  60.             keys.Add('1');
  61.             keys.Add('2');
  62.             keys.Add('3');
  63.             keys.Add('4');
  64.             keys.Add('5');
  65.             keys.Add('6');
  66.             keys.Add('7');
  67.             keys.Add('8');
  68.             keys.Add('9');
  69.             keys.Add('A');
  70.             keys.Add('B');
  71.             keys.Add('C');
  72.             keys.Add('D');
  73.             keys.Add('E');
  74.             keys.Add('F');
  75.             keys.Add('G');
  76.             keys.Add('H');
  77.             keys.Add('I');
  78.             keys.Add('J');
  79.             keys.Add('K');
  80.             keys.Add('L');
  81.             keys.Add('M');
  82.             keys.Add('N');
  83.             keys.Add('O');
  84.             keys.Add('P');
  85.             keys.Add('Q');
  86.             keys.Add('R');
  87.             keys.Add('S');
  88.             keys.Add('T');
  89.             keys.Add('U');
  90.             keys.Add('V');
  91.             keys.Add('W');
  92.             keys.Add('X');
  93.             keys.Add('Y');
  94.             keys.Add('Z');
  95.             keys.Add('a');
  96.             keys.Add('b');
  97.             keys.Add('c');
  98.             keys.Add('d');
  99.             keys.Add('e');
  100.             keys.Add('f');
  101.             keys.Add('g');
  102.             keys.Add('h');
  103.             keys.Add('i');
  104.             keys.Add('j');
  105.             keys.Add('k');
  106.             keys.Add('l');
  107.             keys.Add('m');
  108.             keys.Add('n');
  109.             keys.Add('o');
  110.             keys.Add('p');
  111.             keys.Add('q');
  112.             keys.Add('r');
  113.             keys.Add('s');
  114.             keys.Add('t');
  115.             keys.Add('u');
  116.             keys.Add('v');
  117.             keys.Add('w');
  118.             keys.Add('x');
  119.             keys.Add('y');
  120.             keys.Add('z');
  121.         }
  122.     }
  123. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top