Cod sursa(job #1972237)

Utilizator valentinoMoldovan Rares valentino Data 22 aprilie 2017 16:09:57
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator java Status done
Runda Arhiva educationala Marime 0.66 kb
import java.io.*;
import java.util.*;

class Main {
	 
    static long n, p;
    static final long mod = 1999999973;
	public static void main(String[] args) throws IOException
	{
		Scanner reader = new Scanner(new FileInputStream("lgput.in"));
		PrintWriter writer = new PrintWriter(new FileWriter("lgput.out"));
		
		n = reader.nextLong();
		p = reader.nextLong();
		writer.println(Pow(n, p));
		
		writer.close();
		reader.close();
	}
	
	private static long Pow(long a, long b)
	{
		long solution = 1;
		while(b > 0)
		{
			if(b % 2 == 1) solution = (solution * a) % mod;
			a = (a * a) % mod;
			b >>= 1;
		}
		return solution;
	}
	

}