题意:
解法:
显然是计算%10的答案,
但是10不是质数,不能直接用费马小定理,所以得用欧拉降幂.
code:
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxm=2e5+5;
const int mod=10;
int a[maxm];
int phi(int n){
int ans=n;
for(int i=2;i*i<=n;i++){
if(n%i==0){
ans=ans/i*(i-1);
while(n%i==0)n/=i;
}
}
if(n>1)ans=ans/n*(n-1);
return ans;
}
int mo(int x,int mod){
return x<mod?x:x%mod+mod;
}
int ppow(int a,int b,int mod){
int ans=mo(1,mod);a=mo(a,mod);
while(b){
if(b&1)ans=mo(ans*a,mod);
a=mo(a*a,mod);
b>>=1;
}
return ans;
}
int solve(int l,int r,int mod){
if(mod==1)return mo(a[l],mod);
if(l==r)return mo(a[l],mod);
return ppow(a[l],solve(l+1,r,phi(mod)),mod);
}
signed main(){
ios::sync_with_stdio(0);
for(int i=1;i<=3;i++)cin>>a[i];
int ans=solve(1,3,mod)%mod;
cout<<ans<<endl;
return 0;
}