Advertisement
Guest User

Untitled

a guest
Oct 24th, 2015
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.31 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. class DetectiveBoev
  7. {
  8.     public static int SumDigits(int value)
  9.     {
  10.         int sum = 0;
  11.         while (value != 0)
  12.         {
  13.             int rem;
  14.             value = Math.DivRem(value, 10, out rem);
  15.             sum += rem;
  16.             if (sum > 9 && value == 0)
  17.             {
  18.                 value = sum;
  19.                 sum = 0;
  20.             }            
  21.         }
  22.         return sum;
  23.     }
  24.     public static string Reverse(string s)
  25.     {
  26.         char[] charArray = s.ToCharArray();
  27.         Array.Reverse(charArray);
  28.         return new string(charArray);
  29.     }
  30.     static void Main(string[] args)
  31.     {
  32.         string codeword = Console.ReadLine();
  33.         string message = Console.ReadLine();
  34.        
  35.         int[] codewordvalues = new int[codeword.Length];
  36.  
  37.         for (int c = 0; c < codeword.Length; c++)
  38.         {
  39.             codewordvalues[c] = Convert.ToInt32(codeword[c]);
  40.         }
  41.  
  42.         int codevaluesum = codewordvalues.Sum();
  43.         int mask = SumDigits(codevaluesum);
  44.  
  45.         //  Console.WriteLine("Mask value: " +mask);    
  46.  
  47.         int[] messagevalues = new int[message.Length];
  48.        
  49.         for (int i = 0; i < message.Length; i++)
  50.         {
  51.             messagevalues[i] = Convert.ToInt16(message[i]);
  52.         }    
  53.  
  54.         int[] dectyptmessagevalues = new int[message.Length];
  55.  
  56.         for (int c1 = 0; c1 < message.Length; c1++)
  57.         {
  58.  
  59.             if (messagevalues[c1] % mask == 0)
  60.             {
  61.                 dectyptmessagevalues[c1] = messagevalues[c1] + mask;
  62.             }
  63.             if (messagevalues[c1] % mask != 0)
  64.             {
  65.                 dectyptmessagevalues[c1] = messagevalues[c1] - mask;
  66.             }
  67.         }
  68.         char[] encodedmessage = new char[message.Length];
  69.  
  70.         for (int count = 0; count < message.Length; count++)
  71.         {
  72.             encodedmessage[count] = Convert.ToChar(dectyptmessagevalues[count]);
  73.         }
  74.  
  75.         string finalmessage_reverse = new string(encodedmessage);
  76.         // Console.WriteLine(finalmessage_reverse);
  77.         string final_result = Reverse(finalmessage_reverse);
  78.         Console.WriteLine(final_result);
  79.  
  80.     }
  81.  
  82.     public static int value { get; set; }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement