Я думаю, что вы можете сделать лучше, чем «добавить 1 и проверить каждое последующее число, если оно заканчивается на 1 и является простым числом», что предлагает @ShashankGupta.Как только мы нашли следующее число, которое заканчивается на «1» (с использованием арифметики, а не цикла), нам нужно только проверять каждое десятое число с тех пор:
public static int next_one_prime(int number)
{
// next number ending in '1'
number += 1 + Math.floorMod(-number % 10, 10);
outer: while (true)
{
for (int k = 3; k * k <= number; k += 2)
{
if (number % k == 0)
{
number += 10;
continue outer;
}
}
return number; // next prime ending in '1'
}
}