[BOJ] 9613번 : GCD 합

2024. 10. 3. 09:45Algorithm

1. problem : 

https://www.acmicpc.net/problem/9613

 

2. solution 1 :

#include <bits/stdc++.h>
using namespace std;

int gcd(int a, int b) {
	if (b == 0) return a; 
	return gcd(b, a % b);
}
int main(void) {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int t;
	cin >> t; 
	while (t--) {
		int n;
		cin >> n; 
		long long ans = 0;
		int a[105];
		for (int i = 0; i < n; i++) cin >> a[i]; 
		
		for (int i = 0; i < n; i++) {
			for (int j = i + 1; j < n; j++) ans += gcd(a[i], a[j]);
		}
		cout << ans << "\n";
	}
}

gcd를 직접 구현하여, 문제를 풀었다. 

ans는 100억이 될 수 있기 때문에, long long으로 잡아야 한다. 

 

'Algorithm' 카테고리의 다른 글

[BOJ] 1476번 : 날짜 계산  (0) 2024.10.04
[BOJ] 2133번: 타일 채우기  (0) 2024.10.03
[BOJ] 2294번 : 동전 2  (0) 2024.10.03
[BOJ] 1676번 : 팩토리얼 0의 개수  (0) 2024.10.02
[BOJ] 4883번 : 삼각 그래프  (0) 2024.10.02