23计科1班010陈家明


私信TA

用户名:dotcpp0691168

访问量:657

签 名:

汗流浃背了吧老弟

等  级
排  名 287
经  验 5531
参赛次数 1
文章发表 17
年  龄 0
在职情况 学生
学  校 江苏第二师范学院
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include<stdio.h>


typedef struct

{ long long int fz,fm;

}Fs;


long long int yue(long long int a,long long int b)

{ long long int z;

  while(z=a%b)

  { a=b;

    b=z;

  }

  return b;

}


Fs yin(Fs a,Fs b)

{ long long int zm,zz;

  while(a.fm!=b.fm&&a.fz!=b.fz)

  { zm=b.fm/a.fm;

    b.fm=a.fm;

    a.fm=zm;

    zz=b.fz/a.fz;

    b.fz=a.fz;

    a.fz=zz;

  }

  return a;

}

    

int main()

{ Fs b[100],t;

  long long int n,a[100],i,j,z,m;

  scanf("%lld",&n);

  for(i=0;i<n;i++)

  scanf("%lld",&a[i]);

  for(i=0;i<n-1;i++)

   for(j=i+1;j<n;j++)

    if(a[i]>a[j])

    { z=a[i];

      a[i]=a[j];

      a[j]=z;

    }

  for(i=0,m=0;i<n-1;i++)

  if(a[i]!=a[i+1])

  { b[m].fz=a[i+1]/yue(a[i+1],a[i]);

    b[m].fm=a[i]/yue(a[i+1],a[i]);

    m++;

  }

  if(m==1)

  { printf("%lld/%lld",b[0].fz,b[0].fm);

    return 0;

  }

  for(i=0;i<m-1;i++)

   for(j=i+1;j<m;j++)

   if(b[i].fz>b[j].fz)

   { t=b[i];

     b[i]=b[j];

     b[j]=t;

   }

  t=yin(b[0],b[1]);

  for(i=2;i<m-1;i++)

  t=yin(t,b[i]);

  printf("%lld/%lld",t.fz,t.fm);

  return 0;

}


 

0.0分

3 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区