任何两个数,如果它们的最大公约数=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;
}