题解 | #最简真分数#
最简真分数
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")