2009年3月6日 星期五
模指數運算的三個方法
運算型如b^n mod m的演算法
方法一:
先將n表示成二進位
接著使用同餘性質以非常不直觀的方式寫成:
方法二:
使用直觀的遞迴演算
利用b^n mod m=(b*(b^(n-1) mod m)) mod m
及初始條件b^0 mod m=1
就可簡單地作成exp_mod_rec(int,int,int);
方法三:
利用n的奇偶性的遞迴運算
個人是認為 1<=b<m 似乎不需要這個限制。
目前最大的瓶頸是複雜度的求法......
程式實作如下
訂閱:
意見 (Atom)