文章

27

粉丝

86

获赞

10

访问

20.6k

头像
最简真分数 题解:C++ gcd
P1180 北京大学/北京航空航天大学机试题
发布于2023年8月25日 19:42
阅读数 752

C++

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int gcd(int a, int b){
    if(b == 0)
        return a;
    return gcd(b, a % b);
}
int main(){
    int n;
    while(cin >> n){
        vector<int> a;
        int num;
        for(int i = 0; i < n; i++){
            cin >> num;
            a.push_back(num);
        }
        sort(a.begin(), a.end());
        int cnt = 0;
        for(int i = 0; i < n; i++){
            for(int j = i + 1; j < n; j++){
                if((a[i] != a[j]) && gcd(a[i], a[j]) == 1){
                    cnt++;
                }
            }
        }
        cout << cnt << endl;
    }
    return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发