Лучшая библиотека bignum для решения задач Project Euler в C ++? [закрыто]

Я все еще студент, и нахожу проект Эйлера очень веселым.

иногда вопрос требует вычислений, которые больше, чем примитивные типы. Я знаю, что вы можете реализовать это, но мне лень это делать,

Итак, я попробовал несколько библиотек,

MAPM :: очень хорошая производительность, но она обеспечивает только большие числа с плавающей точкой, с возможностью проверки, является ли она целым числом. очень хорошо принимать ввод, но неприятно предоставлять вывод, и компилируется как по волшебству с Visual C ++ 2008 express.

BIGINT :: маленький, но нуждается в реинжиниринге во многих частях. Очень простой в использовании, но очень ограниченный по мощности и очень медленный по сравнению с другими. только большие целые числа.

ttmath :: самый красивый, который я пробовал до сих пор !, только некоторые файлы, чтобы включить, и у вас есть невероятная сила / простота. Компилируется как волшебство в Visual C ++ 2008 express. Это быстро, потому что он предоставляет номера фиксированной длины. Он построен с использованием метапрограммирования в C ++. Единственный недостаток, который я вижу, состоит в том, что числа не имеют произвольной длины во время выполнения, но вы можете иметь числа 1024 КБ при написании кода очень легко,

<code>ttmath::UInt<1024 * 1024> reallyHugeUnsignedInteger;
</code>

Он предоставляет три типа: подписанный, без знака и с плавающей точкой.

Я пытался скомпилировать gmp под VC2008 express, но мне не удалось! Я знаю, что это лучшее, но не так легко собрать для новичка под VC2008 Express, я также ценю, если вы укажете учебник по компиляции gmp под VC.

РЕДАКТИРОВАТЬ :: Если вы знаете, как скомпилировать gmp с помощью VC 2008, пожалуйста, объясните мне и получите награду :)

EITD :: It seems that I was not using the right terms, So here is the magical GMP for Windows! works with VC 2008 :) MPIR

 AraK26 июн. 2009 г., 06:06
Хорошо, но я не всегда получаю оптимальное решение
 Steve Jessop26 июн. 2009 г., 12:11
@ Игорь: если неэффективное решение занимает меньше секунды и занимает пару минут, я не заинтересован в эффективном. Да, я задал несколько вопросов Эйлера, и да, были случаи, когда использование GMP сразу решало проблему. 1000! меньше чем 10 000 двоичных цифр, это, вероятно, довольно тривиально для вычисления на ПК. Это, конечно, быстрее, чем вычисление числа конечных нулей в 1000! вручную (хотя, конечно, это тоже не так сложно).
 Igor Krivokon26 июн. 2009 г., 05:56
Примечание: вам может понадобиться библиотека bignum для решения некоторых проблем, но большинству задач Эйлера это не нужно. Когда вам нужно найти какое-то свойство с очень большим числом, обычно очень неэффективно вычислять его, чтобы найти свойство. Часто вам нужно проанализировать проблему и найти лучшее решение. Например, если вам нужно найти количество нулей в 1000 !, вычислите фактическое значение 1000! было бы очень неэффективным решением.
 Viet14 апр. 2010 г., 04:20
Хорошо, Игорь и Стив! Ваши комментарии очень хорошо дополняют друг друга.

Ответы на вопрос(3)

Решение Вопроса

GMP. Простой API, был всегда.

Ред .: О, ты это пробовал. Я действительно попробую это снова, это лучшее.

 AraK26 июн. 2009 г., 05:59
Как я уже говорил, я так и не смог заставить его работать в VC:
 jwfearn26 июн. 2009 г., 16:53
suggestion: для удобства других читателей SO, в следующий раз добавьте ссылки. Я делаю это для тебя сейчас.

Ваш ответ на вопрос