zoukankan      html  css  js  c++  java
  • 快速幂

    快速幂
    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
    Submit

    Status
    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. 
            
    <span style="color:#6633ff;">/********************************************************
        author    :    Grant Yuan
        time      :    2014.7.28
        algorithm :    快速幂
        
    *********************************************************/
    
    #include <iostream>
    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    #define LL long long
    
    using namespace std;
    
    LL mod_pow(LL x)
    {
        LL res=1;
        LL n=x;
        while(n>0){
            if(n&1) res=res*x%10;
            x=x*x%10;
            n>>=1;
        }
        return res%10;
    }
    int main()
    {
        int t;LL n,ans;
        scanf("%d",&t);
        while(t--){
            scanf("%lld",&n);
            ans=mod_pow(n);
            printf("%lld
    ",ans);
        }
        return 0;
    }
    </span>

  • 相关阅读:
    Mybatis连接配置文件详解
    MyBatis映射配置文件详解
    AGC 016 C
    CodeForces
    UVA
    某5道CF水题
    DZY Loves Chinese / DZY Loves Chinese II
    [SHOI2016] 黑暗前的幻想乡
    CodeForces
    CodeForces
  • 原文地址:https://www.cnblogs.com/codeyuan/p/4254476.html
Copyright © 2011-2022 走看看