반응형
gcd의 합이 정수의 범위를 넘어갈 수 있으므로 long 자료형으로 선언해줘야 합니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int t = Integer.parseInt(br.readLine());
while (t-- >0) {
long sum = 0;
int input[] = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
for (int i = 1; i < input[0]; i++)
for (int j = i + 1; j < input[0] + 1; j++)
sum += getGCD(input[i], input[j]);
sb.append(sum + "\n");
}
System.out.print(sb);
}
static int getGCD(int a, int b) {
if (b == 0) return a;
return getGCD(b, a % b);
}
}
반응형
'Algorithm' 카테고리의 다른 글
백준 1212번 8진수 2진수 [ Java ] (0) | 2021.03.29 |
---|---|
백준 1373번 2진수 8진수 [ Java ] (0) | 2021.03.29 |
백준 6588번 골드바흐의 추측 [ Java ] (0) | 2021.03.29 |
백준 10824번 네 수 [ Java ] (0) | 2021.03.29 |
백준 11655번 ROT13 [ Java ] (0) | 2021.03.29 |