hdoj1097

好久没有遇到过这样的题,似乎记得以前完全就是靠规律啊什么的。。。。
然后刚刚看到,这不就是快速幂取膜就好了嘛…

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <algorithm>
#include <iostream>
using namespace std;
#define LL __int64
#define N 2010

int quickmul(int g,int a)
{
    int ans=1;
    a%=10;
    while(g)
    {
        if(g%2==1)
        {
            ans=ans*a%10;
        }
        a=a*a%10;
        g/=2;
    }
    return ans%10;
}
int main()
{
    int n,m;
    while(~scanf("%d%d",&n,&m))
    {
        int ans;
        ans=quickmul(m,n);
        printf("%d
",ans%10);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/keyboarder-zsq/p/5934513.html