We can restrict ourselves to checking odd divisors:
public static bool OddIsPrime(int i) { for (int j = 3; j * j <= i; j += 2) if (i % j == 0) return false; return true; } static void Main(string[] args) // Debug -> Myprojects.Property { int i, sum = 2, len = 1; Console.WriteLine("Последовательности простых чисел с простыми суммами до 1000:"); Console.WriteLine("len = " + len + " sum = " + sum); for (i = 3; sum < 1000; i += 2) if (OddIsPrime(i)) { len++; if ((((sum += i) & 1) == 1) && OddIsPrime(sum)) Console.WriteLine("len = " + len + " sum = " + sum); } }
The result is the same:
Sequences of prime numbers with simple sums up to 1000:
len = 1 sum = 2
len = 2 sum = 5
len = 4 sum = 17
len = 6 sum = 41
len = 12 sum = 197
len = 14 sum = 281