28 条题解

  • 0
    @ 2025-1-15 15:22:47

    注释了啊

    我第一次在这里做的

    #include <bits/stdc++.h>
    using namespace std;
    /*
    (a+b)%k = (a%k+b%k)%k
    (a*b)%k = ((a%k)*(b%k))%k 
    */
    
    //快速幂  (a^x)%p
    // a=1231321313
    // x=5464646546
    // p=12313 
    
    long long a,x,p;
    
    long long f(int k){//a的k次方 %p的结果 
    	if(k==0) return 1;
    	if(k==1) return a%p;
    	long long tmp=f(k/2);
    	if(k%2==0){
    		return tmp*tmp%p;
    	}else{
    		return (tmp*tmp%p)*a%p;
    	}
    }
    
    int main(){
    	cin>>a>>x>>p;
        cout<<f(x);
        return 0;
    }
    

    信息

    ID
    171
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    1212
    已通过
    390
    上传者