2012-01-22 42 views

回答

24

看看Modular Exponentiation algorithm

這個想法不是計算2^n。相反,在通電時,可以多次減少模數dThat keeps the number small.

將該方法與Exponentiation by Squaring結合使用,您可以僅在O(log(n))步驟中計算(2^n)%d

這裏有一個小例子:2^130 % 123 = 40

2^1 % 123 = 2 
2^2 % 123 = 2^2  % 123 = 4 
2^4 % 123 = 4^2  % 123 = 16 
2^8 % 123 = 16^2  % 123 = 10 
2^16 % 123 = 10^2  % 123 = 100 
2^32 % 123 = 100^2 % 123 = 37 
2^65 % 123 = 37^2 * 2 % 123 = 32 
2^130 % 123 = 32^2  % 123 = 40 
+0

給我點時間交叉檢查自己。我想你是正確的。 :) – Mysticial

+0

是的,你說得對。鑑於我的背景,我應該更好地瞭解這個......大聲笑 – Mysticial

+0

+1現在!........ –

相關問題