其他分享
首页 > 其他分享> > 快速幂

快速幂

作者:互联网

一.普通快速幂:

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int a,b;
 5     int result=1;
 6     scanf("%d%d",&a,&b);
 7     while(b>0)
 8     {
 9         if(b%2==1)
10             result=((result%1000)*(a%1000))%1000;
11         a=((a%1000)*(a%1000))%1000;
12         b=b/2;
13     }
14     printf("%d",result);
15     return 0;
16 }

二.优化后的快速幂:

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int a,b;
 5     int result=1;
 6     scanf("%d%d",&a,&b);
 7     while(b>0)
 8     {
 9         if(b&1)//利用位运算判断是否为奇数
10             result=((result%1000)*(a%1000))%1000;
11         a=((a%1000)*(a%1000))%1000;
12         b=b>>1;
13     }
14     printf("%d",result);
15     return 0;
16 }

 

标签:a%,int,d%,result,printf,快速,1000
来源: https://www.cnblogs.com/scannerkk/p/15793320.html