static void Main(string[] args) { PrimeGenerator pg = new PrimeGenerator(); bool[] primeArray = pg.CheckPrimeNumber(2000000); long sum = 0; for (int i = 0; i < primeArray.Length; i++) { if (primeArray[i]) { sum += i; } } Console.WriteLine(sum); Console.Read(); }
static void Main(string[] args) { PrimeGenerator pg = new PrimeGenerator(); int[] primes = pg.GetPrimesBelowOneMillion(); bool[] primeMark = pg.CheckPrimeNumber(1000000); for (int i = 0; i < primes.Length; i++) { int prime = primes[i]; int[] digits = NumberUtils.SplitNumber(prime,1); for (int mark = 1; mark < ((1 << digits.Length) - 1); mark++) { int primeCount = 0; for (int n = 0; n < 10; n++) { int[] markedDigits = ChangeMarkedDigits(digits, mark, n); if (markedDigits[0] % 2 == 0 || markedDigits[0] % 5 == 0) continue; if (markedDigits[digits.Length - 1] == 0) continue; int num = MarkDigitsToNumber(markedDigits); if (!primeMark[num]) continue; primeCount++; } if (primeCount == 8) { int result = int.MaxValue; for (int n = 0; n < 10; n++) { int[] markedDigits = ChangeMarkedDigits(digits, mark, n); if (markedDigits[0] % 2 == 0 || markedDigits[0] % 5 == 0) continue; if (markedDigits[digits.Length - 1] == 0) continue; int num = MarkDigitsToNumber(markedDigits); if (!primeMark[num]) continue; if (num < result) result = num; } Console.WriteLine("Result is {0}", result); return; } //Console.WriteLine(Convert.ToString(mark, 2)); } } }
static void Main(string[] args) { for (int i = 0; i < 10000; i++) { squares[i * i] = true; } squares[0] = false; PrimeGenerator pg = new PrimeGenerator(); primes = pg.GetPrimesBelowOneMillion(); primeTag = pg.CheckPrimeNumber(1000000); int squTwice = 0; int firstOdd = 0; bool pass = false; for (int i = 3; ; i += 2) { if (primeTag[i]) continue; pass = false; foreach (int prime in primes) { if (i <= prime) break; squTwice = i - prime; if (squTwice % 2 != 0) continue; squTwice = squTwice / 2; if (!squares[squTwice]) continue; pass = true; break; } if (pass) continue; firstOdd = i; break; } Console.WriteLine(string.Format("Result is {0}", firstOdd)); }