[백준]1629 곱셈.java

전영서·2021년 9월 29일
0

Algorithm

목록 보기
62/89

1.문제

2.코드

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        StringTokenizer st = new StringTokenizer(br.readLine());
        
        long A = Long.parseLong(st.nextToken());
        long B = Long.parseLong(st.nextToken());
        long C = Long.parseLong(st.nextToken());
        
        bw.write(pow(A,B,C)+"\n");
        
        bw.flush();
        bw.close();
        br.close();
    }
    
    public static long pow(long a, long b, long c) {
    	
    	if(b==1) return a%c;
    	
    	long half = pow(a,b/2,c);
    	
    	if(b%2==0) {
    		return half*half%c;
    	}else {
    		return (((a*half)%c)*half)%c;
    	}
    }
}

3.Review

profile
꾸준히 성실하게

0개의 댓글