zoukankan      html  css  js  c++  java
  • HDU-1061-Rightmost Digit (快速幂模板)

    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 } 
  • 相关阅读:
    你不知道的javascript -- 数据类型
    draft.js开发富文本编辑器
    webpack4配置react开发环境
    使用yarn代替npm
    promise基础和进阶
    express route的写法
    理解es6箭头函数
    Mocha测试
    js 实现继承
    Unity3D使用经验总结 缺点篇
  • 原文地址:https://www.cnblogs.com/yzhhh/p/10048922.html
Copyright © 2011-2022 走看看