반응형
문제
풀이
package Implementation;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
//분산처리
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());//테스트 케이스의 개수
StringTokenizer st;
StringBuilder sb = new StringBuilder();
int a, b;
for(int i = 0; i < t; i++) {
st = new StringTokenizer(br.readLine()," ");
a = Integer.parseInt(st.nextToken());
b = Integer.parseInt(st.nextToken());
int gob = 1;
for(int j = 0; j < b; j++) {
gob = (a * gob) % 10;
}
if(gob == 0) {
gob = 10;
}
sb.append(gob).append('\n');
}
System.out.println(sb);
br.close();
}
}
팁
1. 제곱 수 구하기
- 처음에는 Math.pow(a, b)를 사용했는데, 정수의 범위를 초과하여 원하는 값이 나오지 않았다.
2. 제곱 수가 10이 넘을 때마다, 10으로 나눈 나머지로 바꾸기
int gob = 1;
for(int j = 0; j < b; j++) {
gob = (a * gob) % 10;
}
3. 10으로 나눈 나머지가 0인 경우는 10번 컴퓨터로 처리한다.
if(gob == 0) {
gob = 10;
}
출처
반응형
'알고리즘 > Java' 카테고리의 다른 글
[백준] 1476.날짜 계산(Java8) (0) | 2021.10.13 |
---|---|
[백준] 7568.덩치(Java8) (0) | 2021.10.12 |
[백준] 18406.럭키 스트레이트(Java8) (0) | 2021.10.10 |
[백준] 10162.전자레인지(Java8) (0) | 2021.10.08 |
[백준] 1439.뒤집기 / 이코테.문자열 뒤집기(Java8) (0) | 2021.10.07 |