【HDOJ】1420 Prepared for New Acmer

蒙哥马利算法,快速乘幂。

 1 #include <stdio.h>
 2 
 3 int main() {
 4     int case_n;
 5     __int64 a, b, c, val;
 6 
 7     scanf("%d", &case_n);
 8 
 9     while (case_n--) {
10         scanf("%I64d %I64d %I64d", &a, &b, &c);
11         val = 1;
12         while (b) {
13             if (b & 1)
14                 val = val*a%c;
15             b >>= 1;
16             a = a*a%c;
17         }
18         printf("%I64d\n", val);
19     }
20 
21     return 0;
22 }

 

posted on 2014-04-26 09:24  Bombe  阅读(191)  评论(0)    收藏  举报

导航