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的末位数字的主要内容,如果未能解决你的问题,请参考以下文章

51nod 1004 n^n的末位数字

51Nod - 1004 n^n的末位数字

51nod 1004 n^n的末位数字快速幂

51nod1004 n^n的末位数字

51nod 1004 n^n的末位数字

51Nod 1004 n^n的末位数字(日常复习快速幂,莫名的有毒,卡mod值)