usaco frac1

来源:互联网 发布:好听的男英文歌知乎 编辑:程序博客网 时间:2024/06/07 03:40
#include<stdio.h>int a[100001],b[100001],e=0;float v[100001];int min(int a,int b){if (a>b) return(b); else return(a);}int f(int a,int b){int i;for (i=2;i<=min(a,b);i++) if (a%i==0 && b%i==0) return 0;return 1;}void qs(int l,int r){int i,j,tt;float mid,t;i=l;j=r;mid=v[(l+r)/2];while (i<j) {while (v[i]<mid) i++;while (v[j]>mid) j--;if (i<=j) {tt=a[i];a[i]=a[j];a[j]=tt;tt=b[i];b[i]=b[j];b[j]=tt;t=v[i];v[i]=v[j];v[j]=t;i++;j--;}}if (l<j) qs(l,j);if (i<r) qs(i,r);}int main(){freopen("frac1.in","r",stdin);freopen("frac1.out","w",stdout);int n,i,j;scanf("%d",&n);for (i=1;i<=n;i++) {for (j=((i==1)?0:1);j<=i;j++) {if (f(i,j)) {a[++e]=j;b[e]=i;v[e]=float(j)/float(i);}}}qs(1,e);for (i=1;i<=e;i++) {printf("%d/%d\n",a[i],b[i]);}return 0;}

1 0
原创粉丝点击