Алгоритм C / C ++: Самый быстрый способ вычисления (2 ^ n)% d с 32- или 64-битными целыми числами и d

Я ищу алгоритм, который позволит мне вычислить (2 ^ n)% d с помощью n и d 32- или 64-битные целые числа .

Проблема в том, что невозможно сохранить 2 ^ n в памяти даже с библиотеками с множественной точностью, но, возможно, существует уловка для вычисления (2 ^ n)% d только с использованием 32- или 64-битные целые числа.

Большое спасибо.

9
задан Mysticial 22 January 2012 в 19:04
поделиться