刚想明白,有问题可以直接评论问
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=110;
int x[N],a[N],b[N];
int cnt;
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int gcd_sub(int a,int b)
{
if(a<b) swap(a,b);
if(b==1)
{
return a;
}
return gcd_sub(b,a/b);
}
signed main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>x[i];
}
sort(x,x+n);
for(int i=1;i<n;i++)
{
if(x[i]!=x[i-1])
{
int d=gcd(x[i],x[0]);
a[cnt]=x[i]/d;
b[cnt]=x[0]/d;
cnt++;
}
}
int up=a[0],down=b[0];
for(int i=1;i<cnt;i++)
{
up=gcd_sub(up,a[i]);
down=gcd_sub(down,b[i]);
}
cout<<up<<'/'<<down<<endl;
return 0;
}