首页 > 其他 > 详细

1004 n^n的末位数字

时间:2017-08-12 20:17:10      阅读:209      评论:0      收藏:0      [点我收藏+]

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的末位数字

原文:http://www.cnblogs.com/zllwxm123/p/7351286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!