hdu 1061 Rightmost Digit

//模幂运算,而且求个位,一直求10的模
# include <stdio.h>
# include <algorithm>
# include <math.h>
using namespace std;
__int64 Pow(__int64 m,__int64 n)
{
    __int64 p=1;
    while(n)
    {
        if(n%2)
            p=p*m%10;
        n/=2;
        m=m*m%10;
    }
    return p%10;
}
int main()
{
    int t;
    __int64 n,m;
    while(~scanf("%d",&t))
    {
        while(t--)
        {
            scanf("%I64d",&n);
            m=n;
            m%=10;//求个位的n次取模
            if(m==0)
                printf("0\n");
            else
                printf("%I64d\n",Pow(m,n));
        }
    }
    return 0;
}

hdu 1061 Rightmost Digit,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。