9613번: GCD 합
첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진
www.acmicpc.net
입력된 n개의 수 모든 쌍의 GCD를 구한 후 합하는 문제
ex) 7 5 12 => (7,5)->1 (5,12)->1 (7,12)->1 ==> 1+1+1=3
import java.util.*;
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 n=sc.nextInt();
int[] num= new int[n];
for(int j=0;j<n;j++){
num[j]=sc.nextInt();
}
long sum=0;
for(int j=0;j<n-1;j++){
for(int k=j+1;k<n;k++)
sum+= gcd(num[j],num[k]);
}
System.out.println(sum);
}
}
public static long gcd(long a, long b) {
if(b==0) return a;
else return gcd(b,a%b);
}
}
'Coding Test > Baekjoon - Java' 카테고리의 다른 글
2745: 진법 변환 (0) | 2021.02.15 |
---|---|
11005: 진법 변환 2 (0) | 2021.02.15 |
1850: 최대공약수 (0) | 2021.02.15 |
1934: 최소공배수 (0) | 2021.02.15 |
2609: 최대공약수와 최소공배수 (0) | 2021.02.15 |