Подтвердить что ты не робот

Лучшая библиотека bignum для решения проблем Project Euler на С++?

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

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

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

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

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

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

ttmath::UInt<1024 * 1024> reallyHugeUnsignedInteger;

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

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

EDIT:: Если вы знаете, как скомпилировать gmp с помощью VC 2008, пожалуйста, объясните мне и получите награду:)

EITD:: Кажется, что я не использовал правильные условия, поэтому вот магический GMP для Windows! работает с VC 2008:) MPIR

4b9b3361

Ответ 3

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

Изменить: О, вы это пробовали. Я бы попробовал еще раз, это лучший.