Advertisement
stanevplamen

02.09.02.05.TwoIsBetterThanOne

Jun 21st, 2013
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.94 KB | None | 0 0
  1. using System;
  2. using System.Text;
  3.  
  4. class TwoIsBetterThanOne
  5. {
  6.     static int FindPalindromesNumber(ulong fromNumber, ulong toNumber)
  7.     {
  8.         int counter = -1;
  9.         StringBuilder sb = new StringBuilder();
  10.         for (ulong i = fromNumber; i <= toNumber; i++)
  11.         {
  12.             if ((i % 10 == 3 || i % 10 == 5) && (i % 100 == 3 || i % 100 == 5 || i % 100 == 33 || i % 100 == 55 || i % 100 == 53 || i % 100 == 35))
  13.             {
  14.                 sb.Append(i);
  15.                 sb.Append(' ');
  16.             }
  17.         }
  18.         string numbersToCheck = sb.ToString();
  19.  
  20.         string[] checkCollection = numbersToCheck.Split();
  21.  
  22.         foreach (string txtNumb in checkCollection)
  23.         {
  24.             int length = (txtNumb.Length / 2);
  25.             bool sign = true;
  26.  
  27.             for (int i = 0; i < length; i++)
  28.             {
  29.                 if ((txtNumb[i] != txtNumb[txtNumb.Length - 1 - i] && (txtNumb[i] != '3' || txtNumb[i] != '5') && (txtNumb[txtNumb.Length - 1 - i] != '3' || txtNumb[txtNumb.Length - 1 - i] != '5')) || (txtNumb[i] == '0' || txtNumb[txtNumb.Length - 1 - i] == '0'))
  30.                 {
  31.                     sign = false;
  32.                     break;
  33.                 }
  34.             }
  35.  
  36.             if (txtNumb.Length < 2)
  37.             {
  38.                 if (sign == true)
  39.                 {
  40.                     counter++;
  41.                     //Console.WriteLine(txtNumb);
  42.                 }
  43.             }
  44.             if (txtNumb.Length >= 2)
  45.             {
  46.                 if (sign == true && ((txtNumb[(txtNumb.Length / 2)]) == '3' || (txtNumb[(txtNumb.Length / 2)]) == '5'))
  47.                 {
  48.                     counter++;
  49.                     //Console.WriteLine(txtNumb);
  50.                 }
  51.             }
  52.         }
  53.  
  54.         return counter;
  55.     }
  56.  
  57.     static void Main()
  58.     {
  59.         string inpNumbes = Console.ReadLine(); //"1 99";
  60.         string[] splitFirst = inpNumbes.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
  61.  
  62.         ulong fromNumber = ulong.Parse(splitFirst[0]);
  63.         ulong toNumber = ulong.Parse(splitFirst[1]);
  64.  
  65.         int counter = FindPalindromesNumber(fromNumber, toNumber);
  66.         Console.WriteLine(counter);
  67.  
  68.         string inputList = Console.ReadLine(); //"-2,-1,-4,-3";
  69.         string[] splitInput = inputList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
  70.         int[] sortedNumbers = new int[splitInput.Length];
  71.         for (int i = 0; i < sortedNumbers.Length; i++)
  72.         {
  73.             sortedNumbers[i] = int.Parse(splitInput[i]);
  74.         }
  75.         Array.Sort(sortedNumbers);
  76.  
  77.         string percentage =  Console.ReadLine(); // "50";
  78.         decimal percentNumber = decimal.Parse(percentage);
  79.  
  80.         decimal checkNumber = (decimal)(sortedNumbers.Length * percentNumber / 100.0m) - 1;
  81.         decimal rounder = Math.Round(checkNumber, 0);
  82.         int member = (int)rounder;
  83.         Console.WriteLine(sortedNumbers[member]);
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement