Задать вопрос
@Robotex

Возведение в степень в GMP (gmpxx)?

Собственно как? Что-то в мануале не найду.
  • Вопрос задан
  • 3835 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 5
ENargit
@ENargit
Эта функция должна Вам подойти:
void mpf_pow_ui (mpf_t rop, mpf_t op1, unsigned long int op2)
Ответ написан
ENargit
@ENargit
да, а вот тут проблема… показатель степени больше чем помещается в unsigned long? Можно попробовать посчитать степень через экспоненту логарифма
Ответ написан
ENargit
@ENargit
Насчет экспоненты логарифма я погорячился, не нахожу подходящих функций.
Кстати, конвертация mpz в ui совсем несложна:
unsigned long int mpz_get_ui (mpz_t op)
Это если для отчета, например, нужно будет выводить промежуточные расчеты — чтоб вывести результат возведения в степень еще без взятия по модулю. Хотя не думаю, что это Вам нужно.
Ответ написан
@Robotex Автор вопроса
А как создать динамический массив mpz_class?
Ответ написан
Комментировать
@Robotex Автор вопроса
Вот только что-то оно не работает: pastebin.com/6XQrMTdp
Совсем не работает — заношу в числа значения, проверяю, а они неверные.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы