본문 바로가기
백준(Baekjoon)

[백준] 1009번 분산처리 - 자바

by IT 정복가 2022. 3. 22.
728x90

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

 

1009번: 분산처리

입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000)

www.acmicpc.net


[문제]


[코드]

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();   
		int a, b, num;
		
		for(int i = 0; i < T; i++) {
			 a = sc.nextInt();
			 b = sc.nextInt();
			 num = 1;
			 
			 for(int j = 0; j < b; j++) {
				 num *= a; 
				 num = num%10;	 
			 }
			 if (num == 0) num = 10;
			 System.out.println(num);
		}	
		 
		sc.close();
	}
}

[설명]

1. 테스트 케이스의 개수를 구하기 위해 T를 입력 받고 a, b, num이라는 변수를 생성한다.

2. T만큼 반복문을 돌려 a와 b를 입력받고 num에 1을 넣어준다.

3. a^b를 하려면 a를 b번 곱해야 하기 때문에 b번만큼 반복문을 돌려준다.

4. 반복문 안의 num이라는 변수에 a^b를 넣어주고 10으로 나눈 나머지를 다시 num에 넣어준다.

5. 반복문을 나와서 만약 a^b를 10으로 나눈 나머지인 num이 0이라면 num에 10을 넣어주고 출력을 한다. 


[결과]

 

728x90