任何两个数,如果它们的最大公约数=1,则它们可以组成一个最简真分数。最大公约数可以用辗转相除法。

#include <iostream>
#include <string>
using namespace std;

int GYS(int x,int y){
    if(y==0)return x;
    else return(GYS(y,x%y));
}
int main(){
    int n,sum;
    while(scanf("%d",&n)!=EOF){
      if (n==0)continue;
      sum=0;
      int c[n];
      for(int i=0;i<n;i++){
          scanf("%d",&c[i]);
      }
      for(int i=0;i<n-1;i++)
      for(int j=i+1;j<n;j++){
          if(GYS(c[i],c[j])==1)
              sum++;
      }
      printf("%d\n",sum);
    }
    return 0;
}