51Nod 1004 n^n的末位数字
Posted cantredo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51Nod 1004 n^n的末位数字相关的知识,希望对你有一定的参考价值。
1004 n^n的末位数字
题目来源: Author Ignatius.L (Hdu 1061)
基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注
描述
给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
Input
一个数N(1 <= N <= 10^9)
Output
输出N^N的末位数字
Input示例
13
Output示例
3
题解
这道题可以用快速幂取模来做。代码如下:
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <cmath>
#include <stack>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <utility>
#define ll long long
#define ull_ unsigned long long
using namespace std ;
ll quick_pow( ll a , ll b ){
ll base = a , ans = 1 % 10 ;
while ( b ){
if ( b & 1 ){
ans = (ans % 10 * base % 10) % 10 ;
}
base = base * base % 10 ;
b >>= 1 ;
}
return ans ;
}
int main(){
int n ;
cin >> n ;
cout << quick_pow(n , n) << endl ;
return 0 ;
}
以上是关于51Nod 1004 n^n的末位数字的主要内容,如果未能解决你的问题,请参考以下文章