https://www.acmicpc.net/problem/1009
1. Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int i=0; i<T; i++) {
int a = sc.nextInt();
int b = sc.nextInt();
int data = 1;
for(int j=1; j<=b; j++) {
data = (data*a)%10;
}
if(data==0) {
data = 10;
}
System.out.println(data);
}
}
}
|
cs |
풀이 :
문제만 읽었을때는 뭔가 복잡할거 같았지만 막상 문제를 이해해보니 그다지 어려운 문제는 아니였다.
그런데 생각지도 못한 조건이 하나 있어서 애먹기는 했었다.
이런식으로 생각을 해서 그냥 단순이 10으로 나눈 나머지를 출력하면되구나 ! 했지만 계속오류가 떴다.
이유인 즉슨,,, 7의 100승을 할 시에 숫자가 너무커서 int형 변수가 다 못담아내기 때문에 오류가 뜨는거였다.
for(int j=1; j<=b; j++) {
data = (data*a)%10;
}
이런식으로 제곱을 하면서 10의 나머지를 계속 구해주었더니 오류가 뜨지않고 잘 실행되었다!
'코딩테스트 > 백준' 카테고리의 다른 글
[백준-자바] 1712번 손익분기점 / 2022.01.23 (0) | 2022.01.23 |
---|---|
[백준-자바] 1010번 다리 놓기 / 2021.10.09 (0) | 2021.10.09 |
[백준-자바/파이썬] 1085번 직사각형에서 탈출 / 2021.09.30 (0) | 2021.09.30 |
[백준-자바/파이썬] 4153번 직각삼각형 / 2021.09.26 (0) | 2021.09.26 |
[백준-자바/파이썬] 3009번 네 번째 점 / 2021.09.22 (0) | 2021.09.22 |