CS/알고리즘_문제풀이(자바)

곱셈

Jedy_Kim 2021. 9. 20. 22:17
728x90

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

 

1629번: 곱셈

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

www.acmicpc.net

// 자바

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.util.*;
import java.io.*;
 
public class Main{
  public static long getResult(long A, long B, long C) {
    if(B == 1
      return A%C;
    else {
      long temp = getResult(A, B/2, C);
      if(B%2 == 0return (temp * temp) % C;
      else return ((temp * temp % C) * A % C) % C;
    }
      
  }
  
  public static void main(String[] args) throws Exception {
 
    // Please Enter Your Code Here
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st = new StringTokenizer(br.readLine());
    
    long A = Long.parseLong(st.nextToken());
    long B = Long.parseLong(st.nextToken());
    long C = Long.parseLong(st.nextToken()); 
     
    System.out.println(getResult(A, B, C));
  }
}
cs

 

// 개념에 대한 참조

https://st-lab.tistory.com/237

반응형

'CS > 알고리즘_문제풀이(자바)' 카테고리의 다른 글

mountain  (0) 2021.09.21
1, 2, 3 더하기  (0) 2021.09.21
2×n 타일링  (0) 2021.09.20
1로 만들기  (0) 2021.09.20
GCD 합  (0) 2021.09.17