반응형

● 해설

  • 몇번 반복 할 것인지 a를 입력받음
  • b와 c를 입력을 받고
  • b 의 c 제곱을 바로 구하면 예시에 있는 9의 635승 같은 경우는 자료형의 오버플로우가 발생한다.
  • 이러한 경우를 방지하기 위해 b를 c만큼 반복하면서 b를 곱하면서 10의 mod연산자를 취해준다.
  • 그리하여 result 값이 0인 경우를 제외하고는 result 값을 출력하여 준다.

● 구현

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        int a = in.nextInt();
        for (int i = 0; i < a; i++) {
            int b = in.nextInt();
            int c = in.nextInt();
            int result = 1;
            for (int j = 0; j < c; j++) {
                result = (result * b) % 10;
            }
            if (result == 0)
                System.out.println(10);
            else
                System.out.println(result);
        }

    }
}

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

 

반응형

+ Recent posts