Advertisement
dimipan80

Exam July Evening 2. Odd and Even Jumps

Jul 27th, 2014
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.98 KB | None | 0 0
  1. using System;
  2. using System.Globalization;
  3. using System.Threading;
  4.  
  5. public class OddAndEvenJumps
  6. {
  7.     public static void Main()
  8.     {
  9.         Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
  10.         checked
  11.         {
  12.             string inputStr = Console.ReadLine().ToLower();
  13.             int oddJump = int.Parse(Console.ReadLine());
  14.             int evenJump = int.Parse(Console.ReadLine());
  15.            
  16.             string oddLetters = string.Empty;
  17.             string evenLetters = string.Empty;
  18.             bool isOdd = true;
  19.             for (int i = 0; i < inputStr.Length; i++)
  20.             {
  21.                 char symbol = inputStr[i];                
  22.                 if (char.IsLetter(symbol))
  23.                 {
  24.                     if (isOdd)
  25.                     {
  26.                         oddLetters += inputStr[i].ToString();
  27.                     }
  28.                     else
  29.                     {
  30.                         evenLetters += inputStr[i].ToString();
  31.                     }
  32.  
  33.                     isOdd = !isOdd;
  34.                 }                
  35.             }
  36.        
  37.             long oddResult = CalculateResultFromLettersInTheStringWithGivenJump(oddLetters, oddJump);
  38.  
  39.             long evenResult = CalculateResultFromLettersInTheStringWithGivenJump(evenLetters, evenJump);    
  40.  
  41.             Console.WriteLine("Odd: {0:X}", oddResult);
  42.             Console.WriteLine("Even: {0:X}", evenResult);
  43.         }
  44.     }
  45.  
  46.     private static long CalculateResultFromLettersInTheStringWithGivenJump(string letters, int jump)
  47.     {
  48.         checked
  49.         {
  50.             long result = 0;
  51.             for (int i = 0; i < letters.Length; i++)
  52.             {
  53.                 if (i > 0 && i % jump == jump - 1)
  54.                 {
  55.                     result *= letters[i];
  56.                 }
  57.                 else
  58.                 {
  59.                     result += letters[i];
  60.                 }
  61.             }
  62.  
  63.             return result;
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement