Echo-Off писал(а):
Spook писал(а):

под корнем должно быть
Вы уверены? У меня в показателе степени стоит "

"
Алексей К. писал(а):
PAV писал(а):
Послушайте, а не проще ли поступать так: берем требуемое число и последовательно делим на 2, 3, 4 и так далее.
В отъезде с... по ....
Похоже, не хотят ребята попроще... Хорошего отъезда!

Я, в общем, присоединяюсь, за исключением "нехотят"

Думаю, в принципе, нужно
сделать как сказали
PAV и
Cave, вот только можно оптимизировать, напрмер, посчитать кол-во цифр и начать делить(умножать) не с 2, а с большего числа.
Бодигрим, да, пожалуй Стирлинг тут не лучший способ. Вариант с количеством нулей я все-таки на досуге попробую проверить. За неравенства спасибо, думаю, смогу получить точное выражение.
Батороев писал(а):
Неужели, Вы оперируете более высокими величинами?
Ну это просто задачка по программированию, в принципе, вряд ли числа будут больше.
Батороев писал(а):
p.s. Кстати, в соседней теме Вы спрашивали, как можно проверить число на простоту?
Так вот, при помощи указанного выше факториала можно проверить все числа от

до

.
Если данный факториал имеет остаток по модулю заданного числа, отличный от нуля, то это число - простое.
Если Вы отдельно введете проверку, делится ли число на

, то диапазон можно увеличить до

и т.д.
Интересная идея, оценить бы временную сложность и объем памяти.
PAV писал(а):
Это количество лежит в диапазоне от

до

, что достаточно неплохо локализует

. Более того, для разумных величин

это количество считается достаточно быстро и легко, что позволит либо сразу забраковать проверяемый факториал, либо сузить диапазон

до двух кандидатов.
В принципе получается, что мы вибираем меньшего кандидата и все-таки считаем полностью его факториал?
ewert писал(а):
Более того, тупой перебор натурального ряда статистически в любом случае эффективнее, т.к. в большинстве случаев проверка будет очень быстро обрываться.
Вы имеете ввиду просто последовательное деление?