백준

백준 1629 곱셈(Java)

Park DJ 2023. 2. 17. 12:57

https://www.acmicpc.net/problem/1629

 

1629번: 곱셈

첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다.

www.acmicpc.net


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int a = sc.nextInt();
    int b = sc.nextInt();
    int c = sc.nextInt();

    long result = pow(a, b, c);
    
    System.out.println(result);
  }

  public static long pow(int a, int b, int c) {
    if(b == 1) return a % c;
    long n = pow(a, b / 2, c);
    
    if(b % 2 == 1) return (n * n % c) * a % c;
    else return n * n % c;
  }
}