Как уже отмечали другие, одна сортировка не быстрее, чем умножение на 5 значений. Это игнорирует, однако, остальную часть его решения. После пренебрежения 5-элементной сортировкой он переходит к бинарному поиску по массиву из 4888 значений - как минимум 12 сравнений, больше, чем когда-либо требовалось для сортировки!
Обратите внимание, что я не говорю, что есть лучшее решение, которое включает в себя сортировку - лично я не задумывался об этом - просто одна только сортировка - только часть проблемы.
Он также не должен был использовать простые числа. Если бы он просто закодировал значение каждой карты в 4 бита, ему потребовалось бы 20 бит, чтобы представить руку, давая диапазон от 0 до 2 ^ 20 = 1048576, около 1/100 диапазона, полученного с использованием простых чисел, и достаточно маленький (хотя по-прежнему возникают проблемы с когерентностью кэша) для создания таблицы поиска.
Конечно, еще более интересный вариант - взять 7 карт, которые можно найти в таких играх, как Техасский Холдем, и найти лучшую 5-карточную комбинацию, которую можно сделать из них.