백준 1629번 곱셈 JAVA

YB·2024년 9월 24일

링크텍스트

import java.util.*;
import java.io.*;
import java.math.BigInteger;

class Main {
	public static void main (String[] args) throws java.lang.Exception {
	    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	    StringTokenizer st = new StringTokenizer(br.readLine());
	    
		BigInteger a = new BigInteger(st.nextToken());
		BigInteger b = new BigInteger(st.nextToken());
		BigInteger c = new BigInteger(st.nextToken());
		
		BigInteger sum = a.modPow(b, c);
		
		System.out.println(sum);
	}
}

import java.util.*;
import java.io.*;

class Main {
	public static void main (String[] args) throws java.lang.Exception {
	    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(pow(a,b,c));
	}
	
	public static long pow(long a, long b, long c){
	    if(b==1){
	        return a%c;
	    }
	    long temp = pow(a, b/2, c);
	    
	    if(b%2!=0){
			return (temp*temp%c)*a%c;
		}else
			return temp*temp%c;
	}
	
}

profile
안녕하세요

0개의 댓글