Monday, 24 February 2014

UVA Problem ID 374 (Big Mod)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Main {
 public static void main (String args[]) throws IOException
 {
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  String input;
  StringBuilder sb=new StringBuilder(1000);
  
  while((input=br.readLine())!=null)
  {
   if(input.trim().equals(""))
    input=br.readLine();
   long B=Long.parseLong(input.trim());
   long P=Long.parseLong(br.readLine().trim());
   long M=Long.parseLong(br.readLine().trim());
   sb.append(bigmod(B,P,M)+"\n");
   
  }
  System.out.print(sb);
 }
 public static long bigmod(long b,long p,long m)
 {
  if(p==0)
   return 1;
  else if(p%2==0)
  {
   long temp=bigmod(b,p/2,m);
   return ((temp % m)*(temp % m)) % m;
  }
  else
   return ((b % m)*(bigmod(b,p-1,m) % m)) % m;
     
 }
}

Previous Post
Next Post

0 comments:

Advertisement