Rightmost Digit
来源:互联网 发布:cocos2d.js sdk 编辑:程序博客网 时间:2024/06/05 21:13
杭电网址:http://acm.hdu.edu.cn/showproblem.php?pid=1061
λ 题目描述:
Given a positive integer N, you shouldoutput the most right digit of N^N (1<=N<=1,000,000,000).
λ 输入样例:
3
4
λ 输出样例
7
6
- 先考虑基本的实现算法,sum=N^N,简单粗暴,但是数值太大会报错,时间复杂度也太高;
- 重新省视题目,要求输出最终个位上的值,那么考虑个位上数字(N%10)^N,减少了数值大小;
int sum = N%10;
n = N%10;
for (int i=1;i<N ; i++)
{
sum = sum*n;
sum = sum%10;
}
while (scanf("%ld",&N) !=EOF)
{
int sum = N%10;
n = N%10;
int m = (N%4)+4;
for (int i =1; i < m; i++)
{
sum = sum * n;
sum = sum%10;
}
printf("%d\n",sum);
}
long int N=0;
int n=0;
while (scanf("%ld",&N) !=EOF)
{
int sum = N%10;
n = N%10;
if (n ==0 || n ==1 || n ==5 || n ==6)
{
sum= n;
}
elseif (n ==2 || n ==3 || n ==4 || n ==7 || n ==8)
{
int m = (N%4)+4;
for (int i =1; i < m; i++)
{
sum = sum * n;
sum = sum%10;
}
}
else
{
int m = (N%2)+2;
for (int i =1; i < m; i++)
{
sum = sum * n;
sum = sum%10;
}
}
printf("%d\n",sum);
}
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- Rightmost Digit
- vue-cli安装步骤
- 关于在github中clone 文件产生的问题
- OPT, LRU, FIFO页面调度算法的模拟
- Vulkan规范:第一章
- 提交文件
- Rightmost Digit
- 相邻最大矩形面积
- TCP包结构简介
- 判断对象存活方法及回收方法
- 欢迎使用CSDN-markdown编辑器
- 【1701H1】【穆晨】【171101】连续第二十二天总结
- Vulkan规范:第二章(1)
- 64-C++中的异常处理(上)
- Python实现 PAT 1003 我要通过