首页 > 代码库 > 1004 n^n的末位数字
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
这里就是用快速幂了,
一开始自己写了一个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的末位数字
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。