Чтобы быть уверенным, вам придется протестировать их все. : -)
Если серьезно, для такого рода функций вы, вероятно, используете установленный и проверенный алгоритм. Главное, что вам нужно сделать, это убедиться, что ваш код правильно реализует алгоритм.
Другое дело - убедиться, что вы понимаете пределы представления чисел, что бы это ни было. По крайней мере, это установит верхний предел размера, который вы можете проверить. Например, если вы используете 32-битное целое число без знака, вы никогда не сможете протестировать значения больше 4G. Возможно, ваш лимит будет ниже, в зависимости от деталей вашей реализации.
Просто в качестве примера чего-то, что могло бы пойти не так в реализации:
Простой алгоритм тестирования простых чисел состоит в том, чтобы попытаться разделить кандидата на все известные простые числа до квадратного корня кандидата. Функция квадратного корня не обязательно даст точный результат, поэтому, чтобы быть в безопасности, нужно немного пройти мимо этого. Сколько времени пройдет, будет зависеть, в частности, от того, как реализована функция квадратного корня и насколько она может быть отключена.
Еще одно замечание по тестированию: Помимо проверки известных простых чисел, чтобы увидеть, правильно ли ваша функция идентифицирует их как простые, также протестируйте известные составные числа, чтобы убедиться, что вы не получаете «ложных срабатываний». Чтобы убедиться, что вы правильно понимаете функцию квадратного корня, выберите несколько составных чисел, которые имеют простой множитель как можно ближе к квадратному корню.
Кроме того, подумайте, как вы собираетесь «сгенерировать» свой список простых чисел для тестирования. Можете ли вы доверять этому списку, чтобы быть правильным? Как и кем были проверены эти цифры?
Вы могли бы рассмотреть кодирование двух функций и тестирование их друг против друга. Один может быть простым, но медленным алгоритмом, который вы можете быть более уверенным в правильном кодировании, а другой - более быстрым, но более сложным, который вы действительно хотите использовать в своем приложении, но с большей вероятностью допустите ошибку кодирования.