51NOD 1004 n^n的末位数字
2017-01-26 20:43
260 查看
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1004
1004 n^n的末位数字
题目来源: Author Ignatius.L (Hdu 1061)
基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
收藏
关注
给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
Input
Output
Input示例
Output示例
解析; 一个一个的乘必然超时,快速幂
代码:
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<cctype>
#define N 109
using namespace std;
const int inf = 0x3f3f3f3f;
typedef long long LL;
const int mod = 1000000009;
const double eps = 1e-8;
int q_mod(LL a, LL b)
{
LL ans = 1;
while(b)
{
if(b&1) ans = (ans * a) % 10;
a = ((a % 10) * (a % 10));
b >>= 1;
}
return ans;
}
int main()
{
LL n;
scanf("%lld", &n);
printf("%d\n", q_mod(n, n));
return 0;
}
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<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<cctype>
#define N 109
using namespace std;
const int inf = 0x3f3f3f3f;
typedef long long LL;
const int mod = 1000000009;
const double eps = 1e-8;
int q_mod(LL a, LL b)
{
LL ans = 1;
while(b)
{
if(b&1) ans = (ans * a) % 10;
a = ((a % 10) * (a % 10));
b >>= 1;
}
return ans;
}
int main()
{
LL n;
scanf("%lld", &n);
printf("%d\n", q_mod(n, n));
return 0;
}
相关文章推荐
- 51Nod 1004 n^n的末位数字(快速幂)
- 51nod 1004 n^n的末位数字
- 51Nod 1004 n^n的末位数字
- n^n的末位数字 51Nod - 1004
- 51Nod 1004 n^n的末位数字(日常复习快速幂,莫名的有毒,卡mod值)
- 51Nod 1004 n^n的末位数字
- 51Nod-1004 n^n的末位数字【快速模幂】
- 51nod 1004 n^n的末位数字
- 51Nod-1004-n^n的末位数字
- 51nod 1004 n^n的末位数字
- [51nod]1004 n^n的末位数字
- 51nod 1004 n^n的末位数字
- 【51nod】 1004 - n^n的末位数字
- 51NOD 1004 n^n的末位数字
- 51nod 1004 n^n的末位数字
- 51nod 1004 n^n的末位数字
- 51nod-【1004 n^n的末位数字】
- 51Nod——1004 n^n的末位数字
- 51nod 1004 n^n的末位数字
- 51nod 1004 n^n的末位数字(快速幂)