BOJ 문제풀이

백준 9613번 c++ 풀이

koreasunoo 2021. 7. 18. 17:02
SMALL

알고리즘: 유클리드 호제법, 수학, 정수론

코드:

#include <iostream>
#include <vector>

int GCD(int a, int b);
int main(){
    int f;
    scanf("%d",&f);
    
    for(int i = 0; i<f; i++){
        int a;
        long long int result = 0;
        scanf("%d",&a);
        std::vector <int> v(100);
        for(int j= 0; j<a; j++){
            scanf("%d",&v.at(j));
        }
        
        
        for(int j= 0; j<a; j++){
            for(int ij = j+1; ij<a; ij++){
                
                result += GCD(v.at(ij), v.at(j));
                
            }
        }
        printf("%lld\n",result);

    }

    return 0;
}
//a>=b
int GCD(int a, int b){
    int r = a%b; if(r==0){return b;}
    else{return GCD(b,r);}    
}
LIST

'BOJ 문제풀이' 카테고리의 다른 글

백준 1260번 c++ 풀이  (0) 2021.07.20
백준 2981 c++ 풀이  (0) 2021.07.20
백준 1934 c++ 풀이  (0) 2021.07.18
백준 2609 c++ 풀이  (0) 2021.07.18
백준 11047번 C++ 풀이  (0) 2021.07.17