7 66 8 800
9 6
法一:快速幂(指数的形式而且数值较大,直接快速幂)
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #define LL __int64 #define inf 0x3f3f3f3f using namespace std; LL n,m,e1,e2; LL sf(LL a,LL b) { LL ba=a,r=1; while(b!=0)//直到b除到0为止 { if(b%2)//当b为奇数时才垒乘ba { r=(r*ba)%10; } ba=(ba*ba)%10; b>>=1; } return r; } int main() { LL k,i,j,l; while(~scanf("%lld%lld",&n,&m)) { l=sf(n,m); printf("%lld\n",l); } return 0; }
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #define LL __int64 #define inf 0x3f3f3f3f using namespace std; int main() { int n,m,j,k; while(~scanf("%d%d",&n,&m)) { m%=4; n%=10;//就是底数没有取余。。而WA if(m==0)//当为0时再置为4 m=4; k=1; while(m--) { k*=n; } printf("%d\n",k%10); } }