1004 n^n的末位数字
Posted #忘乎所以#
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1004 n^n的末位数字相关的知识,希望对你有一定的参考价值。
基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
Input
一个数N(1 <= N <= 10^9)
Output
输出N^N的末位数字
Input示例
13
Output示例
3
这里就是用快速幂了,
一开始自己写了一个for循环,TLE;
1 #include<stdio.h> 2 using namespace std; 3 typedef long long ll; 4 ll pow_mod(ll a,ll p,ll mod){ 5 ll ans = 1; 6 while(p > 0){ 7 if(p & 1) //判断是否为奇数 8 ans = (ans * a) % mod; 9 p >>= 1;//位运算整体向右移一位 10 a = (a * a) % mod; 11 } 12 return ans; 13 } 14 int main(){ 15 int n; 16 scanf("%d",&n); 17 printf("%lld\n",pow_mod(n,n,10)); 18 return 0; 19 }
以上是关于1004 n^n的末位数字的主要内容,如果未能解决你的问题,请参考以下文章