using System.Text.RegularExpressions;
public static void Main()
int[] awewomePhrases = {1337, 256};
if(CheckForInterestingNumber(number, awewomePhrases))
else if(CheckForInterestingNumber(number + 1, awewomePhrases) || CheckForInterestingNumber(number + 2, awewomePhrases))
Console.WriteLine(result);
public static bool HasTrailingZeros(string number)
return Regex.IsMatch(number, @"\b\d{1}0+\b");
public static bool HasSameNumbers(string number)
return number.GroupBy(c => c).Count() == 1;
public static bool NumbersAreIncreasing(string number)
foreach(char c in number)
public static bool NumbersAreDecreasing(string number)
foreach(char c in number)
public static bool IsPalindrome(string number)
for(int i = 0; i < (number.Length / 2); i++)
int j = number.Length -i - 1;
if(number[i] != number[j])
public static bool isInAwesomePhrases(int number, int[] awesomePhrases)
return awesomePhrases.Contains(number);
public static bool CheckForInterestingNumber(int number, int[] awesomePhrases)
string numberAsString = number.ToString();
return HasTrailingZeros(numberAsString) ||
HasSameNumbers(numberAsString) ||
NumbersAreIncreasing(numberAsString) ||
NumbersAreDecreasing(numberAsString) ||
IsPalindrome(numberAsString) ||
isInAwesomePhrases(number, awesomePhrases);