题解 | #最简真分数#

最简真分数

https://www.nowcoder.com/practice/1f1db273eeb745c6ac83e91ff14d2ec9

#include <iostream>
using namespace std;
int gcd(int a,int b)
{
    if(b==0)return a;
    else return gcd(b,a%b);
}
int main() {
    int n;
    //测试用例中0是提醒部分
    while (cin >> n&&n!=0)
     {
        int *a=(int*)malloc(sizeof(int)*n);
        for(int i=0;i<n;i++)cin>>a[i];
        int count=0;
        for(int i=0;i<n;i++)
        {
            for(int j=i+1;j<n;j++)
            {
                if(gcd(a[i],a[j])==1)//最大公因数为1即两数互质
                {
                    count++;
                    //cout<<a[i]<<" "<<a[j]<<endl;
                }
            }
        }
        cout<<count<<endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务