首页 > 代码库 > HDU 1061 N^N (n的n次方的最后一位)

HDU 1061 N^N (n的n次方的最后一位)

题目意思:

http://acm.hdu.edu.cn/showproblem.php?pid=1061

求N^N的最后一位数。

题目分析:

此题有很多种方法,主要是中循环节,看自己怎么找了。我的方法是找到所有个位数(0~9)数的循环节,详见代码。


AC代码:

/**
 *所有数的循环节是12
 */
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
    int n,t;
    cin>>t;
    while(t--){
        cin>>n;
        cout<<(((long long) (0.5+pow((double) (n%10),n%12==0?12:n%12)))%10)<<endl;
    }
    return 0;
}



HDU 1061 N^N (n的n次方的最后一位)