문제
문제해결
- 중첩 반복문을 사용해서 모든 쌍의 gcd를 구한 후 결과를 더하면 된다
- 결과는 long에 담아야 한다
import java.util.Scanner;
public class B9613 {
public static int gcd(int a, int b){
if (b==0) return a;
return gcd(b, a%b);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
int m = sc.nextInt();
int[] arr = new int[m];
for (int j = 0; j < m; j++) {
arr[j] = sc.nextInt();
}
long result = 0;
for (int j = 0; j < m; j++) {
for (int k = j+1; k < m; k++) {
result += gcd(arr[j], arr[k]);
}
}
System.out.println(result);
}
}
}
'[알고리즘] > 백준' 카테고리의 다른 글
백준 1373 자바 - 2진수 8진수 (0) | 2021.07.04 |
---|---|
백준 17087 자바 - 숨바꼭질6 (0) | 2021.07.03 |
백준 2004 자바 - 조합 0의 개수 (0) | 2021.07.01 |
백준 1676 자바 - 팩토리얼 0의 개수 (0) | 2021.06.30 |
백준 10872 자바 - 팩토리얼 (0) | 2021.06.30 |