Advertisement
Guest User

Detective Boev

a guest
Jul 14th, 2015
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.23 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.     static void Main()
  9.     {
  10.         //Въвеждаме думата
  11.         string word = Console.ReadLine();
  12.         //Въвеждаме съобщението
  13.         string message = Console.ReadLine();
  14.         //Създаваме си променлива за сумата от ASCII кодовете на символите от думата
  15.         int wordSum = 0;
  16.         //Добавяме всяка стойност към сумата
  17.         for (int i = 0; i < word.Length; i++)
  18.         {
  19.             wordSum += (char)word[i];
  20.         }
  21.         //Създаваме променлива, в която запазваме маската.
  22.         int mask = 0;
  23.         //Създавам друга променлива, която е равна на wordSum
  24.         int otherWordSum = wordSum;
  25.         //Въртим цикъл, с условие докато тази сума е по-голяма от 9
  26.         while (otherWordSum > 9)
  27.         {
  28.             //Въртим цикъл, с условие докато тази сума е различна от 0, взимайки всяка цифра от сумата
  29.             while (otherWordSum != 0)
  30.             {
  31.                 mask += otherWordSum % 10;
  32.                 otherWordSum /= 10;
  33.             }
  34.             //Правим тази сума да е равна на маската
  35.             otherWordSum = mask;
  36.             //Ако маската е по-голяма от 9, маската става равна на 0
  37.             if (mask > 9)
  38.             {
  39.                 mask = 0;
  40.             }
  41.         }
  42.         //Създаваме символен празен символен низ, в който пазим крайния резултат
  43.         string final = string.Empty;
  44.         //Създаваме променлива, в която ще пазим стойността на текущия символ
  45.         int currentSymbol = 0;
  46.         for (int i = 0; i < message.Length; i++)
  47.         {
  48.             //Ако остатъкът при деление на ASCII кодът на символ от съобщението с маската е равен на 0, добавяме маската към ASCII кода на символа
  49.             if ((char)message[i] % mask == 0)
  50.             {
  51.                 currentSymbol = (char)message[i] + mask;
  52.                 char symbol = (char)currentSymbol;
  53.                 final += symbol;
  54.             }
  55.             //Иначе изваждаме ASCII кода на маската
  56.             else
  57.             {
  58.                 currentSymbol = (char)message[i] - mask;
  59.                 char symbol = (char)currentSymbol;
  60.                 final += symbol;
  61.             }
  62.         }
  63.         //Превръщаме символният низ с крайния резултат към масив от char-ове
  64.         char[] array = final.ToCharArray();
  65.         //Обръщаме масива в обратен ред
  66.         Array.Reverse(array);
  67.         //Отпечатваме масива
  68.         Console.WriteLine(array);
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement