Должно быть j * j <= number
, иначе вы будете рассматривать квадраты простых чисел как простые числа. То есть ваш метод говорит, что 9
является простым, потому что нет делителей меньше, чем sqrt(9)
.
Кроме того, ваш код, вероятно, найдет простое число, которое короче 10 цифр, поскольку он проверяет все 10-значные подстроки E, включая те, которые имеют начальные нули, такие как 0452353602
.
Кроме того, вам нужно изменить тип j
на long
, чтобы избежать переполнения.