Какую структуру данных следует использовать для вычисления факториала длинного числа из более чем 50 цифр? - PullRequest
0 голосов
/ 19 июня 2010

Какие структуры данных помогают мне сохранять и вычислять факториал для чисел с более чем 50 цифрами?

Ответы [ 4 ]

6 голосов
/ 19 июня 2010

Попробуйте произвольную точность целочисленную библиотеку, такую ​​как GMP или BigDigits .

1 голос
/ 19 июня 2010

Используйте формулу Стирлинга , чтобы приблизить n! для больших n. Лучший способ сохранить номер должен быть научная запись , например 10^(x^y) для действительно больших чисел.

0 голосов
/ 19 июня 2010

Видя количество цифр, которое вычислил Джейми, я думаю, что число битов здесь будет больше, чем предполагаемое количество элементарных частиц во вселенной. Так что это еще один способ заявить, что ваша проблема просто не имеет решения в этом мире, как мы его знаем.

0 голосов
/ 19 июня 2010

Самый простой способ, может быть, это использовать char*, который может длиться столько времени, сколько вам нужно, без особых ограничений, и он будет иметь простое управление операциями.

Конечно, это не самый упакованныйподход, но он думает, что он может работать довольно хорошо, если вам действительно не нужна эффективность.

РЕДАКТИРОВАТЬ: не говорил о каких-либо lib для bigints только потому, что я думал, что вы действительно хотите знать, как сделать это программно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...