HDU - 1061-快速幂签到题
Posted 674001396long
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU - 1061-快速幂签到题相关的知识,希望对你有一定的参考价值。
快速幂百度百科:快速幂就是快速算底数的n次幂。其时间复杂度为 O(log?N), 与朴素的O(N)相比效率有了极大的提高。
代码实现如下:
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 (快速幂模板)
快速幂 HDU-1021 Fibonacci Again , HDU-1061 Rightmost Digit , HDU-2674 N!Again