美文网首页
二分求幂——人见人爱的A^B

二分求幂——人见人爱的A^B

作者: 辘轳鹿鹿 | 来源:发表于2020-07-01 14:04 被阅读0次
    image.png

    解题思路:

    • 分解a的b次为若干个a的2^k次的积。
    • 本题要求的仅是最后结果的后三位数,那么我们在保存为计算该最终值的中间值时也只需保存其后三位数即可。
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<math.h>
    
    
    int main(){
    
        int a,b;
        while(scanf("%d %d",&a,&b)){
            if(a==0&&b==0){
                break;
            }
            int ans=1;
            while(b!=0){
                if(b%2==1){
                    ans=ans*a;
                    ans%=1000;
                }
                b=b/2;
                a=a*a;
                a%=1000;
            }
            printf("%d\n",ans);
    
    
        }
        return 0;
    
    }
    
    
    

    如果觉得有帮助,点个赞再走吧^_^

    相关文章

      网友评论

          本文标题:二分求幂——人见人爱的A^B

          本文链接:https://www.haomeiwen.com/subject/kyycqktx.html