private static long[] FindPrimes(long[] strongs, IPrimeDecider decider) { var list = new List <long>(); foreach (var number in strongs) { for (var digit = 1; digit < 10; digit += 2) { var newNumber = number.ToString().Plus(digit).ToLong(); if (newNumber.IsPrime(decider)) { list.Add(newNumber); } } } return(list.ToArray()); }
private static bool IsStrong(long number, IPrimeDecider decider) => number.IsHarshad() && (number / number.SumDigits()).IsPrime(decider);
public static bool IsComposite(this long value, IPrimeDecider decider) => !decider.IsPrime(value);
public static bool IsPrime(this long value, IPrimeDecider decider) => decider.IsPrime(value);