public static long PandigitalMultiples(long n) { long maxpandigital = 1; for (int i = 1; i < n; i++) { long mult = i; int k = 2; while (mult < 1000000000) { mult = CombinatoricFunctions.concatenatenum(mult, k * i); if (mult > 100000000 && mult < 1000000000) { if (MiscFunctions.IsPandigital((int)mult)) { if (mult > maxpandigital) { maxpandigital = mult; } } } k++; } } return(maxpandigital); }
public static int PandigitalPrime(int n) { List <int> PanPrimes = new List <int>(); PrimeFunctions.GeneratePrimesTillNToList(n); for (int i = 0; i < PrimeFunctions.PrimeList.Count; i++) { if (MiscFunctions.IsPandigital(PrimeFunctions.PrimeList[i])) { PanPrimes.Add(PrimeFunctions.PrimeList[i]); } } return(PanPrimes.Max()); }
public static int PandigitalProducts() { HashSet <int> products = new HashSet <int>(); for (int i = 1; i < 5000; i++) { for (int j = 1; j < 5000; j++) { List <int> tempdigits = new List <int>(); tempdigits.AddRange(MiscFunctions.DigitsFromInt(i)); tempdigits.AddRange(MiscFunctions.DigitsFromInt(j)); tempdigits.AddRange(MiscFunctions.DigitsFromInt(i * j)); if (MiscFunctions.IsPandigital(tempdigits)) { products.Add(i * j); } } } return(products.Sum()); }