文章

8

粉丝

0

获赞

58

访问

1.8k

头像
最简真分数 题解:

#include<bits/stdc++.h>
//#include<algorithm> 中有__gcd(int a,int b); 但是不一定都支持
using namespace std;

//递归的写法
int gcd(int a,int b){
    if(b==0) return a;
    else return gcd(b,a%b);
}

int main(){
    int n;
    int buf[605] = {0};
    
    while(cin>>n){
        int ans = 0;
        for(int i=0;i<n;i++){
            cin>>buf[i];
        }
        for(int i=0;i<n;i++){
            //任取两个数,结果具有对称性,不需要考虑i之前的
    ...

登录查看完整内容


登录后发布评论

1 条评论
riddle
2025年3月11日 15:52

 

#include <bits/stdc++.h>

using namespace std;

int gcd(int a,int b)
{
    if(b==0)
    {
        return a;
    }
    else
    {
        return gcd(b,a%b);
    }
}

int main()
{
    int n;
    int num;
    while(cin>>n)
    {
        int a[605]= {0};
        for(int i=0; i<n; i++)
        {
            cin>>num;
            a[i]=num;
        }
        sort(a,a+n);
        int countNum=0;//记录组合数
        for(int i=0; i<n; i++)
        {
            for(int j=i+1; j<n; j++)
            {
                if(gcd(a[i],a[j])==1)
                {
                    countNum++;
                }
            }
        }
        cout<<countNum;
    }
    return 0;
}


 

赞(0)