HDU - 1061-快速幂签到题

Posted 674001396long

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU - 1061-快速幂签到题相关的知识,希望对你有一定的参考价值。

快速幂百度百科:快速幂就是快速算底数的n次幂。其时间复杂度为 O(log?N), 与朴素的O(N)相比效率有了极大的提高。

HDU - 1061

代码实现如下:

import java.util.Scanner;

public class Main
{
    public static void main(String []args)
    {
        Scanner cin = new Scanner(System.in);
        int T = cin.nextInt();
        for(int i = 0; i < T; i++)
        {
            int N = cin.nextInt();
            System.out.println(Search(N));
        }
    }
    static int Search(int N)//快速幂的模板一般都与下面的代码相同
    {
        int ans = 1;
        int temp = N;
        while(N != 0)
        {
            if((N & 1) != 0)
            {
                ans = (ans%10)*(temp%10);
            }
            temp = (temp%10) * (temp%10);
            N = N>>1;
        }
        ans = ans%10;
        return ans;
    }
}

 

以上是关于HDU - 1061-快速幂签到题的主要内容,如果未能解决你的问题,请参考以下文章

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

hdu1061Rightmost Digit(快速幂取余)

hdu1061(2015-N1):1.快速幂;2.找规律

快速幂 HDU-1021 Fibonacci Again , HDU-1061 Rightmost Digit , HDU-2674 N!Again

hdu 1061 Rightmost Digit

求幂大法,矩阵快速幂,快速幂模板题--hdu4549