728x90

처음에 int sum으로 했더니 틀렸다.
⭐입력으로 주어지는 수가 1,000,000이하로 int형말고 long long으로 해야한다.
//백준 9613 - GCD 합
#include <cstdio>
#include <vector>
using namespace std;
// 최대공약수 구하기
int gcd(int a, int b){
if(b == 0) return a;
return gcd(b, a%b);
}
int main(){
int t;
scanf("%d", &t); // 테스트 케이스 개수 입력
while(t--){
int n;
scanf("%d", &n);
vector<int> arr;
int num;
for(int i = 0; i < n; i++){ // 정수 입력
scanf("%d", &num);
arr.push_back(num);
}
long long sum = 0; // 가능한 모든 쌍의 GCD 합 구하기
for(int i = 0; i < n; i++){
for(int j = i+1; j < n; j++){
sum += gcd(arr[i], arr[j]);
}
}
printf("%lld\n", sum);
}
return 0;
}
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준 11659] Java 구간 합 구하기 4 / bufferedReader (0) | 2025.01.10 |
---|---|
[백준 1546] Java 평균 / Java로 코딩테스트하기 (0) | 2025.01.09 |
🟡[백준 2581] C++ - 소수 구하기 (2) | 2024.07.22 |
🟡미완 [백준 23304] C++ (0) | 2024.07.22 |
🟡미완 [백준 1874] C++ (0) | 2024.07.22 |