快速幂 【模板】

 1 #include<stdio.h>
 2 
 3 #define M 1000000007
 4 
 5 int fp(int a,int b)
 6 {    
 7     long long ret=1,pow=a;
 8     //ret:返回值;pow:基底    
 9     while(b!=0)
10     {
11         if(b&1) 
12             ret=(ret*pow)%M;
13         pow=(pow*pow)%M;
14         b/=2;
15         //相当于b>>1
16     }    
17     return (int)ret;
18 }
19 int main()
20 { 
21     int a,b;    
22     scanf("%d%d",&a,&b);    
23     printf("%d\n",fp(a,b));
24 }

 

posted @ 2017-04-05 21:24  Aptal丶  阅读(179)  评论(0编辑  收藏  举报