1 条题解

  • 0
    @ 2024-12-24 10:06:06

    C :

    #include <stdio.h>
    
    int main()
    {
        int a,b,c;
        while(~scanf("%d%d%d",&a,&b,&c))
        {
            int d[100],r=a,s=1,i=0;
            while(b)
            {
                d[i++]=b%2;
                b>>=1;
            }
            for(int k=i-1;k>=0;k--)
            {
                s=(s*s)%c;
                if(d[k]==1)
                    s=(s*a)%c;
            }
            printf("%d\n",s);
        }
    
      return 0;
    }
    
    

    C++ :

    # include <iostream>
    using namespace std;
    int a,b,c,s;
    int ans(int a,int b){
        if (b==1) return a%c;
        int t = ans(a,b/2);
        t = ( t * t ) % c;
        if (b & 1) return t*a%c;
        return t%c;
    }
    int main(){
        for (;cin >> a >> b >> c;cout << ans(a%c,b) << endl) ;
        return 0;
    }
    
    
    • 1

    信息

    ID
    1945
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者