码迷,mamicode.com
首页 > 其他好文 > 详细

1004 n^n的末位数字

时间:2016-08-16 23:49:19      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:

基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
 
给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
 
Input
一个数N(1 <= N <= 10^9)
Output
输出N^N的末位数字
Input示例
13
Output示例
3

 

幂尾数的循环节为4!学到了新姿势~

知道这个点就直接刚就好。

 

附AC代码:

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cmath>
 4 using namespace std;
 5 
 6 int main(){
 7     int n;
 8     cin>>n;
 9     int a=n%10;
10     int b=n%4;
11     if(b==0) b=4;
12     int c=pow(a,b);
13     cout<<c%10<<endl;
14     return 0;
15 }

 

快速幂写法真无愧于这个名字:

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main(){
 4     int n;
 5     scanf("%d",&n);
 6     int m = n%10;
 7     int ans = 1;
 8     while(n){
 9         if(n&1){
10             ans *= m;
11             ans %= 10;
12     }
13         m *= m;
14         m %= 10;
15         n /= 2;
16     }
17     printf("%d\n",ans);
18     return 0;
19 }

 

1004 n^n的末位数字

标签:

原文地址:http://www.cnblogs.com/Kiven5197/p/5778028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!