码迷,mamicode.com
首页 > Web开发 > 详细

HDU-1061-Rightmost Digit (快速幂模板)

时间:2018-12-01 15:14:26      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:hint   NPU   模板   mes   tput   seve   test   htm   col   

Problem Description
Given a positive integer N, you should output the most right digit of N^N.
 

Input
The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains a single positive integer N(1<=N<=1,000,000,000).
 

Output
For each test case, you should output the rightmost digit of N^N.
 

Sample Input
2 3 4
 

Sample Output
7 6
Hint
In the first case, 3 * 3 * 3 = 27, so the rightmost digit is 7. In the second case, 4 * 4 * 4 * 4 = 256, so the rightmost digit is 6.


题意:求N^N。

思路:快速幂裸题。注意一下变量类型。


 1 #include<iostream>
 2 using namespace std;
 3 int qm(long long a){
 4     int  ans=1;
 5     long long b=a;
 6     a=a%10;
 7     while(b){      
 8         if(b&1) ans=(ans*a)%10;
 9         b=b>>1;
10         a=(a*a)%10;
11     }    
12     return ans;
13 }
14 
15 int main(){
16     int T,N;
17     cin>>T;
18     while(T--){
19         cin>>N;
20         cout<<qm(N)<<endl;
21     }
22     return 0;
23 } 

 

HDU-1061-Rightmost Digit (快速幂模板)

标签:hint   NPU   模板   mes   tput   seve   test   htm   col   

原文地址:https://www.cnblogs.com/yzhhh/p/10048922.html

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