HDU 1061 Rightmost Digit

快速幂。只保存末位。快速幂的第一个题。

#include<cstdio>

#include<cstring>

#include<cmath>

#include<algorithm>

using namespace std;



int main()

{

    int T;

    scanf("%d",&T);

    while(T--)

    {

        int n;

        scanf("%d",&n);

        int a=n%10,b=n,c=1;

        while(b!=0)

        {

            if(b%2==1)c=(c*a)%10,b--;

            else a=(a*a)%10,b=b/2;

        }

        printf("%d\n",c);

    }

    return 0;

}

 

你可能感兴趣的:(right)