不知道哪里错了,求指正!
查看原帖
不知道哪里错了,求指正!
525817
llqqhh楼主2022/10/27 22:34

给的样例都过了, 但是只有36分 不知道哪里出问题了

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int mod;
int qPow(int a,int n)
{
    if(n==0)    return 1;
    else if(n==1)    return a%mod;
    else if(n%2==1)
    {
        return ((qPow(a, n-1)%mod)*a)%mod;
    }
    else if(n%2 == 0)
    {
        int temp = qPow(a, n/2)%mod;
        return temp*temp%mod;
    }
    return 0;
}

int main()
{
    ll a, n;
    cin >> a >> n >> mod;
    printf("%lld^%lld mod %lld=%lld", a, n, mod, qPow(a, n)%mod);
    return 0;
}
2022/10/27 22:34
加载中...